Pages: [1] :: one page |
|
Author |
Thread Statistics | Show CCP posts - 0 post(s) |
Sable Blitzmann
Minmatar Eve University
|
Posted - 2010.04.25 07:48:00 -
[1]
Edited by: Sable Blitzmann on 25/04/2010 07:56:47 Edited by: Sable Blitzmann on 25/04/2010 07:56:21 You know those logs that are written to your computer that keep track of every line of text spoken by an EVE character? I'm currently in a phase of pre-development to take all those chat logs, parse them, and archive them in a database.
At first glance, it looks simple: the text logs give you the channel ID and name, so you can add that to the database; no problem. That channel, as far as I can tell, will always be there and always have the same channel ID, even if the name changes and even if there is no one in the channel for weeks. However, when you start getting into private chat logs, I'm not so certain. My question is this: once a channel ID is created, will it ever be recycled?
For example, I start a private convo with a friend and am given the channel ID of 1450981. The convo only last five minutes. But even if the convo only lasts five minutes, will that specific ID be fused with that specific convo forever, never to be used again, or is that ID 'released' and up for recycle later once the convo has closed?
Whichever way the answer goes will dictate how I layout my development. And I'd like some fairly concrete answers if possible -- it would suck to go on to develop this and a year down the road have two conflicting IDs being used, sending me into database hell. =P
-- Sable
EDIT: Also, might as well ask here: is it possible for a player channel to have the same channel ID as a solarsystemID? Channels such as Local and Region (along with Corp, Alliance, Constellation... channels linked to an in-game entity) use the solarsystemID and regionID in the chat logs respectively to designate which system/region the chat was taking place in. Will player-created channels ever have the same ID as so-called 'system channels'? My guess is no, but you never know. =P
|
Tonto Auri
Vhero' Multipurpose Corp
|
Posted - 2010.04.25 13:34:00 -
[2]
Can't say I understand your issue. You could just use autoincrement and separate channels by listener name. Or you'll run into situation, where your lines will be duplicated, because more than one of your chars were listening to the same channel (public or private). -- Thanks CCP for cu |
Sable Blitzmann
Minmatar Eve University
|
Posted - 2010.04.25 17:05:00 -
[3]
I'm not worried about duplicate lines of chat; I already have a preliminary system worked out for that issue. My main concern right now are the ID's.
It's kinda hard to explain any other way. Basically, what I'm asking is this: are channel ID's that are found in the text logs completely and utterly unique, or do some of them get recycled and used again when, say, the channel is deleted or your private chat ends? That's the best way I can sum up the question. >_>
|
Catari Taga
Centre Of Attention Rough Necks
|
Posted - 2010.04.25 17:28:00 -
[4]
From my own chat logs it seems private chat & channel IDs are a signed 32 bit Integer that so far has only ever been auto-incremented, after reaching 2^31 we are currently on the negative side of things.
I cannot tell you what happens when we exhaust the address space at -2^31. However, considering CCP's own logkeeping and the fact that it will be efficient to keep auto-incrementing rather than checking the database for "free" IDs each time I would expect them to move to a signed 64 integer then. So, the answer to your question is: Yes, the IDs among themselves are currently unique and will likely stay so.
To you further question: ChannelIDs may be equal to itemIDs (including solarSystemIDs, etc.).
fleetid's seem to be constructed differently btw, whether they will stay unique I cannot say, have not spent any time to unravel that format.
Hope that helps.
|
Tonto Auri
Vhero' Multipurpose Corp
|
Posted - 2010.04.25 17:31:00 -
[5]
I would guess that private conversation ID's recycled every DT. -- Thanks CCP for cu |
Arous Drephius
|
Posted - 2010.04.25 21:44:00 -
[6]
Originally by: Catari Taga I would expect them to move to a signed 64 integer then.
Don't count on it. The market transaction IDs have been reset three? times now when they reached the max size of the DB field. They could have moved to 64bit ints but they didn't because they would take too much space IIRC.
I'd bet they'll just reset to zero with this when the IDs run out.
|
Lost Hamster
Hamster Holding Corp
|
Posted - 2010.04.26 14:32:00 -
[7]
Originally by: Arous Drephius
Don't count on it. The market transaction IDs have been reset three? times now when they reached the max size of the DB field. They could have moved to 64bit ints but they didn't because they would take too much space IIRC.
They already moved it to 64bit. Caused some problem with the application who where using API. So I expect that the ChannelIDs will use 64bit length.
|
Arous Drephius
|
Posted - 2010.04.26 15:06:00 -
[8]
Originally by: Lost Hamster Edited by: Lost Hamster on 26/04/2010 14:40:37
Originally by: Arous Drephius
Don't count on it. The market transaction IDs have been reset three? times now when they reached the max size of the DB field. They could have moved to 64bit ints but they didn't because they would take too much space IIRC.
They already moved it to 64bit. Caused some problem with the application which where using API. So I expect that the ChannelIDs will use 64bit length, when the 32 bit pool is running out.
They did? Oh, well, disregard my post then.
|
Dragonaire
Caldari Corax. New Eden Retail Federation
|
Posted - 2010.04.27 00:31:00 -
[9]
Yeah they seem to be switch stuff over as needed so they don't have to deal with them all at once or maybe did them all but we haven't noticed it yet because some of them haven't gone past 32 bit rollover yet -- Finds camping stations from the inside much easier. Designer of Yapeal for Eve API.
|
Nagapito
Gallente The Littlest Hobos Ushra'Khan
|
Posted - 2010.04.27 11:20:00 -
[10]
you wouldnt need to check DB for free IDs.
When a convo is closed you just drop the 'free id' on a list and when a new convo is needed you pick the id from this list. If list is empty, you just return a new one that is a increment of the max one ever generated that you will store in a var! After DT, var is reseted to the minimum number possible and list cleaned!
Easy system to recycle ids and probably would be what I do cos, lets get real, they might have millions of convos every day!
|
|
Seidr
Cruentus Invicta
|
Posted - 2010.04.28 12:19:00 -
[11]
Edited by: Seidr on 28/04/2010 12:19:48 Sable - a couple of months ago I started the same project. I've got a client-side log monitor working (although it requires an interface), and server-side component for receiving and storing the log data in a MySQL database. The monitor and receiver are more complex than a simple file watcher and receiving script, and store precise information regarding validity and log type.
I'm looking to develop both sides further into an intel-gathering tool. If you'd like to chat about the possibility of a partenership, I would be glad to talk later (I'm online around 6-12PM GMT). I also have a dedicated server on a fast pipe for data storage/retrieval, so hosting would be no problem at all.
Anyway, if you're interested - drop me a line and we can talk.
The monitor is coded in C#, and the receiver in PHP. I also have plans to develop an Android front-end for this project, once the web version is fully functional.
|
|
|
|
Pages: [1] :: one page |
First page | Previous page | Next page | Last page |