Commit graph

528 commits

Author SHA1 Message Date
Eric House
3e9dfb9a9d allow a thread to get a cidlock it already has. 2013-06-17 07:26:54 -07:00
Eric House
950e754ca2 cleanup 2013-06-17 07:26:10 -07:00
Eric House
a546c025d5 Rather than queuing sockets needing reading, read them immediately and
queue the packets for processing.  Add ids so they can be tracked in
the logs.  In addition to making tcp and udp packet processing more
similar this fixes the case where a read is delayed until after the
client has closed the connection (and so returns an error.)
2013-06-17 07:25:25 -07:00
Eric House
1928554444 add asserts and clarifying comments 2013-06-17 06:54:38 -07:00
Eric House
7ce939f5c0 pass rather than hard-coding column name 2013-06-17 06:48:22 -07:00
Eric House
e89fd3e8cc fix names to make units clear -- no code change 2013-06-10 06:38:42 -07:00
Eric House
e6488ff8c1 save space by shortening column names 2013-06-07 20:54:57 -07:00
Eric House
bf767577e3 msg64 will not always be set! Don't delete in that case. 2013-06-07 20:54:16 -07:00
Eric House
8b888b8d96 fix compile errors due to stricter compiler post debian upgrade 2013-05-29 06:36:54 -07:00
Eric House
eccd31472f fix crash when udp not in use 2013-05-27 16:17:58 -07:00
Eric House
78b3a91925 format: send array of message bodies rather than just one 2013-05-22 06:40:02 -07:00
Eric House
11709b21bd remove redundant parameters 2013-05-22 05:51:33 -07:00
Eric House
7d81083d7d send using old message format to old clients, new to new 2013-05-22 05:39:20 -07:00
Eric House
9b5607d829 send message along with GCM notification that ... there's a message.
Should eventually allow GCM-aware clients to skip connecting on
launch, and for now to make them a tiny bit snappier.
2013-05-21 19:35:34 -07:00
Eric House
9e67dda5a9 make use of base-64 encoding runtime-configurable 2013-05-09 22:16:48 -07:00
Eric House
eafac8724e don't stop processing message referring to multiple games as soon as
one of them can't be found.
2013-02-08 20:58:09 -08:00
Eric House
6a1b86380e add missing files from gtk_multigame branch -- to fix broken compile 2013-02-04 21:33:35 -08:00
Eric House
5e0fd89c9e update with all relay/ changes from gtk_multigame. This is what the
live relay's running anyway.
2013-02-04 06:08:39 -08:00
Eric House
7ecf57c556 increase size of buffer for incoming proxy packets, since now that I
have 50+ saved network games requests for moves are that big.  (This
is a temporary fix.)
2013-01-26 18:48:57 -08:00
Eric House
8cb0a8a7a7 fix crash on startup (as done already on gtk branch) 2013-01-26 09:23:44 -08:00
Eric House
3313c776ab fix unregister sql error 2013-01-19 22:37:12 -08:00
Eric House
dc0cfdf001 bug in recent changes: need to mark socket unused to avoid double removal 2013-01-13 10:37:47 -08:00
Eric House
98679c8363 cleanup: better encapsulation for AddrInfo 2013-01-13 10:14:06 -08:00
Eric House
c567647a8d get rid of mapping of socket->game_connection, which will not work
once UDP sockets and/or per-device (not per-game) connections come
along.  Lots of changes, most not involving code flow but a couple
that did.  So far two gtk games can connect and exchange moves.
Haven't tested reconnection or store-and-forward.
2013-01-12 16:09:24 -08:00
Eric House
b46df07237 Merge remote branch 'origin/android_branch' into android_branch 2013-01-11 20:48:04 -08:00
Eric House
6dcd7022d4 don't pass .css file in; it's ignored 2013-01-11 20:42:57 -08:00
Eric House
55514719be include thread ptr in hung threads logging; assert (restart) when hung for too long 2013-01-11 20:42:04 -08:00
Eric House
39d12d088a use usleep when waiting for cref to be available 2013-01-11 20:37:08 -08:00
Eric House
2ccc297463 make number of sockets at which we assert/reboot configurable so tests
can be done with large numbers of clients.
2013-01-10 21:10:18 -08:00
Eric House
f827bebf80 ignore .pyc file 2013-01-02 21:13:36 -08:00
Eric House
ad78129e74 changes made over the past couple of months toward tracking an
apparent thread leak.
2013-01-02 21:12:42 -08:00
Eric House
d34ac1f86d rewrite to work without gcm library (whose lack of support for some
documented params makes it impossible to try using them)
2013-01-02 21:08:10 -08:00
Eric House
e920fbcaff unregister (flag in db) devids google says are unregistered 2012-12-01 11:55:16 -08:00
Eric House
2859ec9132 stime is the name of the column in actual use 2012-12-01 10:31:55 -08:00
Eric House
618d8530f2 some changes accumulated as script was running 2012-12-01 10:27:02 -08:00
Eric House
4dddd2da42 some changes accumulated as script was running 2012-12-01 10:26:00 -08:00
Eric House
e16245d19e include new column 2012-12-01 09:33:38 -08:00
Eric House
694857dd4e add, but disable with compile flags, ability to mark sent messages
with a timestamp rather than delete them.  Plan is to experiement with
this as a way of keeping devices from sending too many identical
messages when GCM's in use -- since constraints on the msgs table will
not allow identical messages to be added.
2012-11-15 06:25:22 -08:00
Eric House
c847ec127e add and use function that does formatted printing to a std::string so
query buffers can no longer overflow.
2012-11-15 06:15:44 -08:00
Eric House
c4f5b4522e minor printing tweaks 2012-11-13 07:17:56 -08:00
Eric House
6a85661095 lots of improvements: make useful for testing with non-android clients; shelve backoff data, etc. 2012-11-10 19:31:22 -08:00
Eric House
1316ae4b67 Fix relay devid protocol to deal with case where client submits a
ID_TYPE_RELAY id that's not in the devices table (as has happened when
a device switches relay URLs during testing, but might also happen if
I have to delete an entry from the devices table.)  In that case,
return ID_TYPE_NONE to the client, which will be its clue to delete
its ID_TYPE_RELAY id and submit the platform-specific id again.

Note: android won't compile this revision thanks to util.h change
2012-11-10 15:05:44 -08:00
Eric House
f1ee77882b Send devid with RECONN as well as CONN so games present when device
upgrades can also use GCM.  Tested on relay but not device.
2012-11-09 06:54:12 -08:00
Eric House
2df4199a77 test script for messaging devices 2012-11-08 06:13:01 -08:00
Eric House
af89047969 treat an empty devID string as TYPE_NONE regardless of what the client claims. 2012-11-07 22:03:58 -08:00
Eric House
e6cd2265df fix crash: make formatParams work with empty strings 2012-11-07 21:57:18 -08:00
Eric House
83754d626e add backoff for resending for messages still not removed from msgs table 2012-11-07 08:05:45 -08:00
Eric House
45d0b2dbc8 various improvements, including printing a period on every loop when
there's no work to do.  All that remains is backoff.
2012-11-07 07:31:52 -08:00
Eric House
8516dca1cb what I really meant to check in 2012-11-07 06:23:20 -08:00
Eric House
9b48523ff3 fix to work with new DB scheme and to send json client now expects 2012-11-07 06:17:33 -08:00