ehouse
77319b570d
make transmitted vars smaller where possible; new relay identifying
...
scheme where cookie is used only to connect, and is replaced for
reconnects by a relay-generated name that's supposed to be unique
across all games on all relays and includes a hostname read in from
config file; relay assign non-servers' hostIDs.
2005-10-01 16:33:45 +00:00
ehouse
7d9a78f996
comment out internal mutexes: shouldn't be needed now that only one
...
thread at a time is given access to a cref instance.
2005-09-14 05:15:27 +00:00
ehouse
87d1c8f593
event name change
2005-09-09 03:15:06 +00:00
ehouse
cf5906eacf
Add and handle disconnect message so a device can reuse its socket for
...
a new game.
2005-09-05 15:50:49 +00:00
ehouse
ebcc30dd5f
send notice when a socket closes. This seems to be resulting in dups.
2005-09-04 20:37:42 +00:00
ehouse
4882c92a07
generate XWRELAY_OTHERCONNECT message
2005-09-03 18:35:34 +00:00
ehouse
a4033a44c3
when one device is disconnected for heartbeat, tell others it's going
...
away.
2005-09-03 15:41:17 +00:00
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
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
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
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
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
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
9fa68e4936
lots of little changes; cleanup and support ctrl functions
2005-04-20 12:13:20 +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
3fd6998c2a
add mutexes; general improvements
2005-03-25 02:59:44 +00:00
ehouse
dcebf5bc78
remove null-dereference when socket closed by two threads
2005-03-21 05:30:12 +00:00
ehouse
73104819bd
first checked in. primative, but works.
2005-03-19 22:14:27 +00:00