ehouse
9a2567252b
cleanup: get rid of unused states/actions and code to handle them.
2005-09-03 07:15:05 +00:00
ehouse
c82fd2e4f2
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
b0cc6f458b
add disconnect event and error codes
2005-09-03 06:46:03 +00:00
ehouse
2ba0f451a7
fix failure to record bytes forwarded
2005-09-02 07:18:39 +00:00
ehouse
8f32f4f99a
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
5d22be174a
initial version
2005-09-02 06:40:34 +00:00
ehouse
9ac04243b5
first checked in. works.
2005-09-02 06:35:25 +00:00
ehouse
abde767154
tweaks to logging and adding some message enums
2005-08-08 23:33:51 +00:00
ehouse
23739eee9b
reduce interrupt-time logging
2005-08-03 01:17:49 +00:00
ehouse
91abdb3bcc
fix bug where client connecting before server would result in attempt
...
to forward packet to host not yet available. Drop such packets now.
2005-08-02 04:57:13 +00:00
ehouse
170ad8f419
make overly verbose logging conditional
2005-08-02 04:56:08 +00:00
ehouse
3b53363e16
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
d639e9ca45
Honor cookieID passed in connect message, falling back to cookie only
...
when the ID isn't set, and using it rather than assigning a new one
even if the game can't be found.
2005-07-06 00:54:38 +00:00
ehouse
f062a1f8f6
cleanup
2005-07-06 00:53:19 +00:00
ehouse
1ae6c010c9
Make cookieID a 32-bit value instead of 16-bit
2005-07-05 23:02:15 +00:00
ehouse
db6f6c258d
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
d5858f7a21
add include file
2005-07-05 21:57:00 +00:00
ehouse
370c2f82f2
fix leak
2005-07-05 21:52:24 +00:00
ehouse
3054637842
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
f702a75188
log incoming ip addr
2005-05-01 17:38:11 +00:00
ehouse
9fa68e4936
lots of little changes; cleanup and support ctrl functions
2005-04-20 12:13:20 +00:00
ehouse
df17fe4f1e
reorganize; support ctrl functions
2005-04-20 12:10:05 +00:00
ehouse
d885af5386
count bytes sent
2005-04-20 12:08:33 +00:00
ehouse
92c2017cae
use rwlock instead of mutex
2005-04-20 12:06:25 +00:00
ehouse
7036e53229
move to using rwlock
2005-04-20 12:03:58 +00:00
ehouse
12fc28315c
more debug info
2005-04-20 11:59:08 +00:00
ehouse
40351e187b
add several new commands
2005-04-20 11:57:26 +00:00
ehouse
54843e68bf
fix warnings
2005-04-08 14:28:04 +00:00
ehouse
fdca4b0a88
add rwlock helper classes
2005-04-08 14:18:14 +00:00
ehouse
a809a057e4
mutex replaced by rwlock
2005-04-08 14:17:28 +00:00
ehouse
a50fe1d1be
replace mutex with rwlock; move creation inside class so can be
...
controlled by same rwlock.
2005-04-08 14:15:23 +00:00
ehouse
7a15f44c12
move creation inside class so can be controlled by same rwlock
2005-04-08 14:13:25 +00:00
ehouse
423ff190ea
turn on warnings
2005-04-08 14:11:00 +00:00
ehouse
9ee54bf8a3
don't assert after poll returns! Instead close socket on hangup.
2005-04-03 17:02:09 +00:00
ehouse
e3151bdfe2
add command parsing and dispatch table
2005-03-31 02:20:50 +00:00
ehouse
a024c7ccd5
first checked in. works but not robust
2005-03-31 02:11:51 +00:00
ehouse
3f64d755b6
break up compile; new file
2005-03-30 02:00:15 +00:00
ehouse
db3ce42a4f
this file owns thread creation now
2005-03-30 01:52:10 +00:00
ehouse
9dcec7d66c
new include
2005-03-30 01:49:40 +00:00
ehouse
99d713bd8a
first checked in
2005-03-30 01:47:55 +00:00
ehouse
855bc67b17
use new thread pool class
2005-03-30 01:42:28 +00:00
ehouse
64c7513867
cleanup
2005-03-30 01:32:02 +00:00
ehouse
3d40cc0e5c
add cmd to lock/unlock main mutex
2005-03-25 03:24:00 +00:00
ehouse
97323636a9
use new stack-based lock
2005-03-25 03:21:16 +00:00
ehouse
3fd6998c2a
add mutexes; general improvements
2005-03-25 02:59:44 +00:00
ehouse
120a3c1773
first checked in
2005-03-25 02:59:10 +00:00
ehouse
8b34f57bf9
don't kill socket when client connects before server
2005-03-21 05:30:55 +00:00
ehouse
dcebf5bc78
remove null-dereference when socket closed by two threads
2005-03-21 05:30:12 +00:00
ehouse
dc25eb9e35
first checked in.
2005-03-19 22:16:49 +00:00
ehouse
73104819bd
first checked in. primative, but works.
2005-03-19 22:14:27 +00:00