Eric House
cf3437c686
fix argc checking to prevent crashes
2013-08-23 07:44:42 -07:00
Eric House
4be1653ab7
remove logging
2013-08-23 07:41:10 -07:00
Eric House
235346b7a4
fix signature string (and log when there's a mismatch)
2013-08-23 07:41:10 -07:00
Eric House
38adea1612
fix infinite recursion
2013-08-22 08:23:32 -07:00
Eric House
1af12f1de2
refactor packet assembly/sending so posting message can post all,
...
including header.
2013-08-22 08:15:38 -07:00
Eric House
16aafccec6
to telnet interface add ability to forget device and to send to one
...
not known (which will make message available next time it connects or
via GCM); rename methods.
2013-08-22 06:29:20 -07:00
Eric House
23a59e8097
sometimes a device goes away and we don't notice, so when it comes
...
back just reuse its record rather than asserting there's no record
there.
2013-08-21 21:32:55 -07:00
Eric House
45998fd2c0
don't assert when packet size short is unexpectedly large. Not sure
...
why this happens, but it's not a reason to abort a test.
2013-08-21 21:28:47 -07:00
Eric House
3dee41e584
set new clntvers row in devices table at the same time as updating it
...
in games table. (The latter is now redundant and will go away.)
2013-08-21 06:49:37 -07:00
Eric House
f728f7459b
pass INITIAL_CLIENT_VERS and git version to relay
2013-08-20 08:42:41 -07:00
Eric House
5197033de3
In the spirit of setting constants in only one place, pass
...
INITIAL_CLIENT_VERS in from build.xml rather than the jni makefile,
and make it available in java world as well.
2013-08-20 08:42:12 -07:00
Eric House
2157706dcd
add client version and a desc string to devices DB and to reg info sent to relay
2013-08-20 08:09:45 -07:00
Eric House
a8d67830d8
add missing enum
2013-08-19 20:51:03 -07:00
Eric House
84d06b9fed
use g_shell_parse_argv() to parse input buf (so messages can be in
...
quotes and contain whitespace)
2013-08-19 08:25:06 -07:00
Eric House
7bce97f78a
post notification, not alert, on receipt of relay alert message
2013-08-19 07:02:03 -07:00
Eric House
0868a33c83
print out whether message is ACK'd or not
2013-08-18 20:52:09 -07:00
Eric House
31a3a593a4
handle alert command by posting message (if app's in foreground;
...
should otherwise post an intent...); remove some of excessive logging
2013-08-18 20:13:08 -07:00
Eric House
5412119a6f
add hexDump (commented out)
2013-08-18 15:49:13 -07:00
Eric House
d0aca01289
clean up send message/alert code
2013-08-18 15:48:44 -07:00
Eric House
47203437cc
register devices more often; add ctrl command to send text message to
...
device if possible, otherwise to post it to the db (mostly for testing).
2013-08-17 14:55:19 -07:00
Eric House
8ad549d2bd
query on null db fails, doesn't assert
2013-08-16 19:15:28 -07:00
Eric House
e776f7b230
comment out toast that's showing on every connection -- too annoying
2013-08-15 22:32:00 -07:00
Eric House
8c56f55445
track time since last game-related packet, not any packet from relay.
2013-08-15 22:32:00 -07:00
Eric House
10ef75113f
factor common code
2013-08-15 22:32:00 -07:00
Eric House
6a27bbba94
tweaks to new ctrl command
2013-08-15 19:22:23 -07:00
Eric House
d07bb5013d
oops: function need to return something
2013-08-15 19:22:01 -07:00
Eric House
62f0819a82
Toward resurrecting ctrl feature to give runtime info about stuff that
...
isn't in the DB. Step one: comment out the stuff that doesn't compile
and add ability to print all registered devices with their ages.
2013-08-15 08:44:33 -07:00
Eric House
06f0b7e411
treat KEEPALIVE same as RQSTMSGS (for now)
2013-08-15 07:25:20 -07:00
Eric House
61009cefc7
in advance of using memcache, keep track (in memory) of those devids
...
for which no messages are pending, since that's a query that can be
made by each device every minute.
2013-08-15 07:24:30 -07:00
Eric House
42bbc946ae
quote variable and echo when switching to udp
2013-08-15 07:20:22 -07:00
Eric House
f1b60dab62
Don't assert when can't find state transition. At least in some cases
...
these result from unexpected/out-of-order packets that slip through.
2013-08-14 08:11:21 -07:00
Eric House
fe51d19c2e
Device can't be 'alreadyHere' if has hostID of 0 since the only way a
...
device gets registered involves giving it a non-0 hostID. Fixes array
OOB access.
2013-08-14 08:10:09 -07:00
Eric House
80f66d1df7
remove test for duplicates now that it's impossible
2013-08-13 08:20:57 -07:00
Eric House
5be8779749
remove redundant member variable
2013-08-13 08:19:32 -07:00
Eric House
c9406c36ae
use a simple array rather than a vector to store currently connected
...
devices. It's simpler, searching for hid is faster, and it makes it
easier to detect when we try to add the same device twice.
2013-08-13 08:04:19 -07:00
Eric House
652a8ec905
toward staying reachable as-if GCM were there: note whether GCM
...
working, and if so skip keeping the connection up. But otherwise stay
reachable by relay for a week after last udp packet was received.
2013-08-12 08:24:52 -07:00
Eric House
09494dcf09
remove unused param
2013-08-12 08:15:55 -07:00
Eric House
0ba0530bf3
set global before informing of change so if there's a query result
...
will match what was sent
2013-08-12 08:13:58 -07:00
Eric House
fde50cce32
move timeout interval into config file; cleanup
2013-08-12 07:41:48 -07:00
Eric House
a96c0c548f
switch from static final ints to an enum; no other change.
2013-08-11 10:47:01 -07:00
Eric House
1d52a9afea
add reset button to ConnStatusHandler on-click dialog that calls to
...
stubbed-out function in RelayService
2013-08-10 23:24:46 -07:00
Eric House
de1803c9dd
cleanup: reduce number of params required
2013-08-10 17:36:37 -07:00
Eric House
758c6a6c5c
add interface to ConnStatusHandler as part of moving UI-based response
...
into Activity.
2013-08-10 14:25:28 -07:00
Eric House
dbc1bb1cd5
use getHandler()
2013-08-10 08:54:51 -07:00
Eric House
787367071d
show only those devids in the visible games
2013-08-08 19:55:04 -07:00
Eric House
f96155f12b
merge changes for quick b65
2013-08-08 01:14:23 -07:00
Eric House
9528e61f84
Merge remote-tracking branch 'origin/android_branch' into android_branch
2013-08-08 01:07:02 -07:00
Eric House
635b948c41
don't drop messages from devices without a devID -- lots of older
...
devices are in that boat.
2013-08-08 00:40:32 -07:00
Eric House
d8e6979bcc
cleanup: store db schema as arrays of arrays rather than arrays whose
...
odd- and even-indexed members have different roles. Uses slightly
more memory but is better code.
2013-08-07 23:48:33 -07:00
Eric House
d00e9edf55
fix crash upgrading from beta 30 (which is two years old!)
2013-08-07 23:36:17 -07:00
Eric House
01c97c5716
null token is a possibility if message was stored by device connecting
...
via tcp and device is now connecting via udp
2013-08-07 21:59:21 -07:00
Eric House
cd9eea665b
oops: still need to register device connecting via tcp so gcm sends
...
can work.
2013-08-07 21:36:06 -07:00
Eric House
84b77d4456
log threadid as unsigned int
2013-08-07 21:32:58 -07:00
Eric House
b49486fc3f
cleanup: use constant and add/use isUDP()
2013-08-07 21:31:10 -07:00
Eric House
ae21b6f0d8
use new --use-udp flag and, by default, switch devices from tcp- to
...
udp-based connections over time at a configurable rate.
2013-08-07 21:12:08 -07:00
Eric House
71ea59e7fb
separate whether app is using udp from whether it stores games in a
...
sqlite3 db so that it can switch mid-game -- that being something that
needs testing.
2013-08-07 21:09:48 -07:00
Eric House
bac947d780
don't remember tcp-based addresses. Fixes problem when a device
...
switches from tcp- to udp-based connection.
2013-08-07 21:04:05 -07:00
Eric House
91c82d9874
tweak logging to match format gdb prints
2013-08-07 21:03:11 -07:00
Eric House
6dbabaa319
cleanup
2013-08-07 21:02:47 -07:00
Eric House
da3f62729b
Merge tag 'android_beta_64' into android_branch
...
beta 64
2013-08-07 06:18:15 -07:00
Eric House
b33991486c
up strings for next beta (a quick fix)
2013-08-06 22:03:09 -07:00
Eric House
a38fd0e96c
fix too-short tray on 10" tablet by making height a 16-bit value, not 8-.
2013-08-06 21:56:10 -07:00
Eric House
b9450589c8
add new commandline option --use-udp. Not yet used.
2013-08-06 21:10:42 -07:00
Eric House
470dbb5304
oops: still remove address from set tracked if it's not tcp
2013-08-05 07:50:11 -07:00
Eric House
4ad6696ecc
add delete-on-ack logic to another message sending site, and fix
...
assertion failure caused by not providing a client token on messages
being sent.
2013-08-02 22:33:06 -07:00
Eric House
ed0c0fe3a5
add methods that don't require handler but use any set
2013-08-02 08:03:35 -07:00
Eric House
1e94e217b8
collapse catch statements since all do the same thing
2013-08-02 08:02:46 -07:00
Eric House
da54b1e5fb
add keepalive timers
2013-08-02 08:01:16 -07:00
Eric House
1e35d676bf
change constant name
2013-08-02 07:31:41 -07:00
Eric House
6e14a6d33a
fix leak; remove unused variable
2013-08-02 06:11:08 -07:00
Eric House
8b936ea0ea
iterator is invalid after erase() call, so advance first. Fixes problem valgrind found.
2013-08-02 06:08:41 -07:00
Eric House
a8cc920dcf
new method
2013-08-01 07:49:12 -07:00
Eric House
4ecb0f534d
For a subset of stored messages sent, don't remove from DB until
...
they're acked. (This is the goal for all messages sent via UDP, but
will be harder elsewhere in the code.)
2013-08-01 07:48:44 -07:00
Eric House
684effd170
cleanup
2013-08-01 06:12:58 -07:00
Eric House
17b8eae1f1
clean up fetching of stored messages, and excluse those from dead games
2013-07-31 07:24:58 -07:00
Eric House
64b89536b0
Test whether game is on device before starting process of opening it.
...
Fixes problem caused by relay sending messages for games that have
been deleted.
2013-07-30 07:43:52 -07:00
Eric House
4ce2368e90
remove unused variable and functions that set it
2013-07-30 07:35:13 -07:00
Eric House
54c1e0c2ab
drop bogus assert
2013-07-29 17:39:43 -07:00
Eric House
b40533230a
fix OS warning by unregistering SMS receivers in onDestroy
2013-07-29 07:50:01 -07:00
Eric House
63ad3a196b
debug build asserts that packet is meant for this device, but
...
non-debug should drop those that aren't.
2013-07-29 07:30:46 -07:00
Eric House
1f877c7567
remove logging
2013-07-29 07:29:01 -07:00
Eric House
d8a4b5ce29
include udp maxInterval, the number of seconds the relay's configured
...
to assume an address is still good when it hasn't heard from it, in
reg response reply, send that reply always, and read and log the new
field on clients. It will eventually be used to implement a
keepalive.
2013-07-29 07:27:30 -07:00
Eric House
cdea106824
change param to simplify code a bit
2013-07-29 06:33:31 -07:00
Eric House
5f9b2e431f
optimization: test address before fetching messages for it
2013-07-28 07:28:32 -07:00
Eric House
9951064439
fetch all stored messages at once to reduce number of DB calls made.
2013-07-25 06:37:53 -07:00
Eric House
6bb2efbbd5
remove mistaken assert
2013-07-24 06:03:50 -07:00
Eric House
41160579ca
remove duplicate
2013-07-23 18:30:08 -07:00
Eric House
bfc617720e
add isCurrent() method on UDP addresses based on how long it's been
...
since we've received data from the same source, and use to drop
packets in response to reads that are older than when the test says
the endpoint of the address changed.
2013-07-23 06:21:57 -07:00
Eric House
572d3596ae
add heretofore undocumented config
2013-07-23 06:18:17 -07:00
Eric House
ceacbc2cbe
fix formatting error
2013-07-23 06:17:35 -07:00
Eric House
acca4d14d4
new files to track how long it's been since data's been received from
...
a UDP address. The idea's that when there's too long a gap the
address has likely been recycled and we shouldn't send replies to
packets received before the reset.
2013-07-22 07:26:14 -07:00
Eric House
6418513a6d
don't try to read from socket if == -1
2013-07-22 06:15:35 -07:00
Eric House
385243763a
Merge remote-tracking branch 'origin/android_branch' into android_branch
2013-07-22 06:13:01 -07:00
Eric House
a191c6fc2a
don't add chats to queue at len 64 rather than 128
2013-07-22 06:12:06 -07:00
Eric House
7b18da70db
logging tweak
2013-07-22 06:11:10 -07:00
Eric House
48a2567edf
log contents of incoming udp packets
2013-07-22 06:06:39 -07:00
Eric House
13550865ad
drop packets in queue if they've been there longer than 30 seconds --
...
which should be a configurable value.
2013-07-22 06:05:24 -07:00
Eric House
3a14b12cc5
exit when number of core files changes, not if it's non-zero
2013-07-20 12:52:32 -07:00
Eric House
13c234dfab
log when address replaced
2013-07-20 11:59:00 -07:00
Eric House
49a2d099f0
include packet num in every udp packet. They start over on app
...
reboot, but add a bit of help with debugging.
2013-07-20 11:57:10 -07:00