Commit graph

16 commits

Author SHA1 Message Date
ehouse
175f4eb87d Send disconnect events with error codes on heartbeat and connect timer
failures; change how state machine handles heartbeats: only put events
into the machine when there's a failure.
2005-09-03 06:55:08 +00:00
ehouse
da323ede86 loads of changes: get settings from config file; remove sockets and
kill crefs via state machine, and protect access to a cref so it can
die without another thread being in it; do timers via timeout to
poll() rather than interrupt (and integrate into state machine);
detect when all players are present and change state so new
connections on that cookie will get a new cref.
2005-09-02 06:56:34 +00:00
ehouse
11cf5b3a27 reduce interrupt-time logging 2005-08-03 01:17:49 +00:00
ehouse
a26549afa9 Pass protocol version code with connect request, and return error if
it isn't what relay can handle.  Report error to user.
2005-07-06 01:36:52 +00:00
ehouse
326a639ea5 cleanup 2005-07-06 00:53:19 +00:00
ehouse
93b78bc3f6 Make cookieID a 32-bit value instead of 16-bit 2005-07-05 23:02:15 +00:00
ehouse
711046f94b move to using a formal table-driven state machine for each game (cref
object).  While it makes things more complex at this point, it should
make it easier in the long run to add error handling, timeouts, etc.
2005-07-05 22:05:37 +00:00
ehouse
210dcc88c0 heartbeats: send to clients in connection response; note when
heartbeat and other messages arrive; and periodically reap sockets
that haven't been active in long enough.
2005-06-23 04:26:44 +00:00
ehouse
2c37dc2366 log incoming ip addr 2005-05-01 17:38:11 +00:00
ehouse
0b316408ae count bytes sent 2005-04-20 12:08:33 +00:00
ehouse
bf41f95f44 fix warnings 2005-04-08 14:28:04 +00:00
ehouse
863e241fc6 use new thread pool class 2005-03-30 01:42:28 +00:00
ehouse
7a6a5df437 use new stack-based lock 2005-03-25 03:21:16 +00:00
ehouse
d4edf4d446 don't kill socket when client connects before server 2005-03-21 05:30:55 +00:00
ehouse
5d3876fa7b total rewrite. New protocol eliminates need to store and forward
messages: clients connect, then messages are passthru only.  Add
control port.  Use stl map and vector to remove limit on number of
connections.  Also removed synchronization, which need to be re-added.
2005-03-19 22:13:43 +00:00
ehouse
2f8efe7a6a first checkin. Works about half the time for one or two games at a
time.  Very fragile.
2005-03-06 18:27:16 +00:00