Eric House
b1ef09625e
pair delete[] with new[]
2013-06-21 07:25:41 -07:00
Eric House
c587848349
cleanup
2013-06-21 06:59:44 -07:00
Eric House
8b8d22a7ba
fix compile error: move function back to being inline since header
...
can't be readily included from .h file
2013-06-21 06:14:10 -07:00
Eric House
2a35fac1e8
rather than invalidating socket in AddrRec when it's closed, add a
...
timestamp set when it's opened. Older copies with the same socket can
be tested against the cannonical copy maintained by tpool and sending
avoided when the timestamp shows the endpoint has likely changed.
Change tpool's list of sockets to a map for faster lookup, and get rid
of similar structure in udpqueue.
2013-06-21 06:05:26 -07:00
Eric House
11d299606e
test for socket == -1 (invalidated) before sending
2013-06-20 07:10:09 -07:00
Eric House
46bd4d0047
inval tcp sockets in return addresses of packets waiting processing
...
when they're closed to prevent attempting to write replies to the
wrong device should the socket be reopened.
2013-06-20 07:07:56 -07:00
Eric House
985f7bfea0
tweak: don't restart whole loop on unlikely random result
2013-06-19 07:27:34 -07:00
Eric House
ecef687471
drop message, rather than asserting, if device id isn't in db.
2013-06-17 07:52:58 -07:00
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