lotodore
5beaa816b4
Moving third party sources to third_party folder so that they can be easily distinguished. This should help package maintainers.
2008-03-23 10:36:17 +00:00
lotodore
dbcedc889b
Even more logging.
2008-03-20 00:06:19 +00:00
lotodore
689b22e0b9
The sender thread has been rewritten with a new algorithm in mind. The sender should not stall any more, and no timeout is required. There are no more send priorities.
...
The avatar manager no longer serializes access to avatar files.
2007-11-20 23:58:24 +00:00
lotodore
a24a93caba
Use unix linefeeds for all files. Finally. It's about time.
2007-11-16 15:24:25 +00:00
lotodore
82a1be763b
Use several sender threads with load balancing for sending the avatars. Remember last failed send operation (not yet a list, just the last) and cancel any more low prio sends to that sender.
2007-11-14 22:11:04 +00:00
lotodore
fee8450a74
Still trying to fix the SIGPIPE problem.
2007-10-30 21:02:52 +00:00
lotodore
7000722d75
Suppress sigpipe in sender thread.
2007-10-30 16:59:47 +00:00
lotodore
70e2d5556f
If a sender thread is stalled while trying to send, time out after 2 seconds. Use infinite timeout when terminating threads.
2007-10-29 22:16:21 +00:00
lotodore
3953210ad9
Use larger thread termination timeouts.
2007-10-29 18:49:28 +00:00
lotodore
219a922c9e
Fixed crash in the server which was caused by not waiting long enough for the termination of threads.
2007-10-29 11:57:17 +00:00
lotodore
cdea81b2ba
Fixed sender again, as it did not work when sending errors.
2007-10-28 15:06:57 +00:00
lotodore
fa7af40a49
Fixed a very nasty bug concerning the sender thread. SOCKETs were assumed to be kind of unique, but Windows tends to return the socket number of a socket which was just closed as new socket number in accept. This led to very strange behavior when the server was flooded with inits, because the sender thread still had entries for this socket number (which were not removed because they should just fail).
...
No longer use socket as key in maps, instead, use the session id. Only use the session id in the sender thread, "resolve" it to the socket only in the moment when it is needed. Outstanding requests will be detected to have an invalid session id then.
Also, as side effect, fixed an issue with two callback classes which were named the same and caused unexpected behavior.
2007-10-28 12:53:54 +00:00
lotodore
3bb28de5ae
More work on sending/receiving avatars. Introduces low priority send queue, so that the server send thread is not stalled when sending loads of avatars. Not functional yet.
2007-10-06 12:50:19 +00:00
lotodore
4e6a78dcb5
Fixed player disconnects (again).
2007-06-15 20:56:31 +00:00
lotodore
a85ec4ee5a
Players can now join and leave as they wish. Still TODO: Need to fix player number.
2007-05-06 23:27:08 +00:00
lotodore
804c7eaaa2
Fixed design problem: Thread objects can now be created in any context.
...
Sender thread output queue is now limited.
Server thread now terminates correctly.
Now cloning packets when sending them to multiple recipients.
Fixed one thread issue - GameStart still needs to be made thread safe.
2007-03-20 11:56:30 +00:00
lotodore
ca354dce7f
Started to implement server state engine.
2007-03-13 23:27:17 +00:00
lotodore
f5289a6fcf
Added helper class for receiving data. Modified sender thread to support sending partial packets. Prepared abstractions for server state machine.
2007-03-13 02:23:12 +00:00
lotodore
d4855a2ca2
Added simple server. Added session establishment (only test code). Added sender thread.
2007-02-25 23:16:26 +00:00