Commit Graph
15 Commits
Author SHA1 Message Date
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