Andy2
c3e1b243b6
add timestamp to msgs db and set it on adding new records. I will
...
likely need to add periodic culling on the server for games that will
never fetch their messages.
2010-09-24 05:46:30 -07:00
Andy2
35ff5a7835
exit on logdir being gone before grepping it
2010-09-23 06:41:37 -07:00
Andy2
c44324a32a
log, for now as I've seen assertions failures suggesting a race, the
...
set of checked-out sockets at insert and remove time.
2010-09-23 06:34:18 -07:00
Andy2
40e1d29243
use new methods to store undeliverable messages in a db rather than in
...
memory. Confirmed that devices can hookup without ever being
connected at the same time and that the messages survive a relay
reboot. No further testing yet.
2010-09-23 06:32:57 -07:00
Andy2
74764a493b
create the new db
2010-09-23 06:31:42 -07:00
Andy2
eee41377f4
new methods for storing/retrieving messages in new db.
2010-09-23 06:31:29 -07:00
Andy2
451ced44ba
cleanup: shorter timeout; set aside games that finish correctly
2010-09-23 06:29:55 -07:00
Andy2
9a035c66ff
add assertion
2010-09-23 06:28:13 -07:00
eehouse@eehouse.org
acb52d11dc
Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy
2010-09-23 05:34:43 -07:00
Andy2
85b4f3f075
move hostid assignment and tracking into db so it survives reboots and
...
recycling of crefs between when devices in a game connect. This plus
movement of messages into the DB will re-enable games played without
the two devices ever being connected at the same time.
2010-09-23 05:33:27 -07:00
Eric House
82825365d4
Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy
2010-09-22 05:46:10 -07:00
Eric House
659278448b
changes to work against remote relay
2010-09-22 05:45:40 -07:00
Eric House
076b211cab
tweak to allow to specify host/port for use against remote relay
2010-09-21 20:38:54 -07:00
Andy2
1d0c207521
add test command for proxy feature to fetch for connNames whether
...
there are messages pending for them. Not handled yet on relay.
2010-09-21 18:28:31 -07:00
Andy2
e06baf566f
get public rooms from the db rather than stubbing it out.
2010-09-21 06:54:47 -07:00
Andy2
be23e06b60
use read_packet to replace duplicate code
2010-09-21 06:38:43 -07:00
Andy2
e7b5923883
finish first pass at sending open public room names -- but with actual
...
list harvesting stubbed out.
2010-09-21 06:27:31 -07:00
Andy2
2ec67c8ed1
finish rq to work with current format; add to makefile
2010-09-21 06:26:49 -07:00
Eric House
4ad735124c
add logging and assertions. There's a race condition in cref
...
recycling and may be one in tpool socket checking-out.
2010-09-20 22:11:13 -07:00
Eric House
b6ce74be1c
add timeout after which all games are killed
2010-09-20 22:08:51 -07:00
Eric House
c671f2ab05
plug memory leak
2010-09-20 22:07:10 -07:00
Eric House
047f41b516
send cookieid as part of [RE]CONNECT_RESPONSE in addition to ALL_COND (where it's now redundant).
2010-09-20 22:06:35 -07:00
Andy2
0df651027f
Merge branch 'android_branch' into relay_proxy
...
Conflicts:
xwords4/relay/crefmgr.cpp
2010-09-20 19:55:53 -07:00
Andy2
bca8300495
changes for b16: version strings and changes summary text.
2010-09-20 19:48:52 -07:00
Andy2
ddedcee3eb
remove commented out foo -- needed to save before prev submission.
2010-09-20 19:39:35 -07:00
Andy2
9b98d89722
add mimeType entry to data. This coupled with the right apache
...
AddType config means the browser doesn't get a chance to download
dicts, giving users one less way to get confused.
2010-09-20 19:38:26 -07:00
Andy2
0ac23458ba
use constant
2010-09-20 18:42:43 -07:00
Andy2
a549ade1fa
a bit more work on rc
2010-09-20 18:31:17 -07:00
Andy2
4e9d6e712e
escape apostrophe -- new SDK requires it.
2010-09-20 06:18:53 -07:00
Andy2
15cd3af62a
just a comment
2010-09-20 05:35:29 -07:00
Andy2
e1c99f53cd
work on detecting duplicate packets and devices that have reconnected
...
on a different socket; print all present seeds for debugging.
2010-09-20 05:35:19 -07:00
Andy2
ac8891016f
work on detecting duplicate packets and devices that have reconnected
...
on a different socket; print all present seeds for debugging.
2010-09-20 05:35:09 -07:00
Andy2
d199ec5168
account for possibility client apps won't exit on TERM
2010-09-20 05:33:58 -07:00
Andy2
84a26c2c1a
more to ignore
2010-09-20 05:32:17 -07:00
Andy2
430b033ae0
a bit of progress on cmdline tool
2010-09-20 04:59:09 -07:00
Andy2
6d6ad96cde
don't clear seed when changing roles from guest to host.
2010-09-20 04:56:19 -07:00
Andy2
00cdbc97d3
Install a no-op TERM handler at first then replace later with one that
...
just exits main loop. Do cleanup/file saving on exit from mainloop.
Fixes occasional crash where TERM came in before we were setup to
cleanup.
2010-09-20 04:55:35 -07:00
Andy2
df1ec1628a
replace killSocket(), which jumped right into crefmgr and could get
...
ahead of processing data arrived on the same socket, with EnqueueKill
that adds to same queue from which data's taken. So if device dies
immediately after sending data there won't be a race between closing
the cref (if this is the last open socket) and handling the data. I'm
still dying with assert fails when running 100 games at once, but much
less frequently
2010-09-18 08:47:56 -07:00
Andy2
a4913596db
remove logging
2010-09-18 08:42:15 -07:00
Andy2
c5d113a8da
remove _locked from name of method since it's not called when holding a lock.
2010-09-18 07:46:10 -07:00
Andy2
53b3d7c32f
enque sockets in new object that contains type so later other events
...
(e.g. socket closes) can also be queued; track what sockets are
currently being handled so no two threads are ever processing events
on same socket. This makes running 'NGAMES=50
./scripts/discon_ok2.sh' crash very infrequently rather than every
time, but the race condition in crefmgr remains. Queuing socket
closes should help.
2010-09-18 07:44:14 -07:00
Andy2
54512b9e11
put logs in own dir
2010-09-18 07:35:16 -07:00
Andy2
eec07649a6
put logs in own dir; echo every time game ends successfully.
2010-09-18 07:35:02 -07:00
Andy2
9c8889b429
get rid of mutex guarding reconnect. There shouldn't be any need
...
since game slots are already assigned, and it's slowing down
reconnects in their race with kills.
2010-09-18 05:07:23 -07:00
Andy2
7e1066dbcc
vary room names
2010-09-16 22:20:43 -07:00
Eric House
bb1e46fa81
Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy
2010-09-16 20:13:54 -07:00
Eric House
d0e707a48e
get started with test/cmdline app to query relay's new proxy interface.
2010-09-16 20:13:24 -07:00
Andy2
c5eef29bcc
some suspicious crashes and subsequent reading say that multiple
...
threads can't share the same db connection. So synchronize all
queries. Multiple threads *can* access the db concurrently as long as
each has its own connection, so I could add connections to the tpool
threads. But this will probably be performant enough for the first
10K simultaneous users. :-)
2010-09-16 20:08:32 -07:00
Andy2
1490b2def9
simplify state table, getting rid of a bunch of states: we never leave
...
ALLCOND until it's time to kill the cref. When one device connects
and leaves the cref is recycled, so when a new device joins and is
assigned the same game and a new cref is initialized the number of
players already registered must be set from the db entry; do that.
2010-09-16 18:59:56 -07:00
Andy2
76e7459a6d
various improvements, e.g. random sleeps before and after starting
2010-09-16 18:56:34 -07:00