Commit graph

711 commits

Author SHA1 Message Date
Eric House
de125eb9a6 fix GetStoredMessages to also return messages without connnames,
i.e. messages to a device rather than to a game.
2013-08-28 21:29:39 -07:00
Eric House
cd2b83c9c5 type change: use vector<uint8_t> rather than string in struct for
retrieving data from db.
2013-08-28 20:33:42 -07:00
Eric House
c4cf8b3c3c make 'devs print' take multiple devid args; rename args to argv everywhere. 2013-08-28 19:23:40 -07:00
Eric House
831018ed9d oops: remove extra format specifier 2013-08-28 19:20:37 -07:00
Eric House
b5f35fab78 unescape things like '\n' in messages 2013-08-28 08:00:21 -07:00
Eric House
4207df8078 apply limit to all; list messages without connname too 2013-08-28 07:29:24 -07:00
Eric House
2e7433f2b2 change 'devs msg' command to send to a list, or to all 2013-08-28 07:29:23 -07:00
Eric House
35a09512ce add missing params 2013-08-26 08:41:42 -07:00
Eric House
f6b34fcbbc sleep time should depend on configured ACK expiry 2013-08-25 22:24:21 -07:00
Eric House
d3c15eb58b remove logging 2013-08-25 22:23:52 -07:00
Eric House
063b01d3d8 change most len-as-short+bytes strings to vli+bytes; add device model
to what's passed for device registration, and store it in a new column
in devices table.
2013-08-25 21:20:26 -07:00
Eric House
d10e9f6235 use vlis for acks in both directions 2013-08-25 16:59:07 -07:00
Eric House
91235f3be7 begin process of using variable-length-ints in udp protocol. Works
between linux client and relay, but unrelased features of Android
client will be broken until fixed.
2013-08-25 12:34:35 -07:00
Eric House
69f34f4ef8 make method private 2013-08-25 12:32:26 -07:00
Eric House
cf3437c686 fix argc checking to prevent crashes 2013-08-23 07:44:42 -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
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
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
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
0868a33c83 print out whether message is ACK'd or not 2013-08-18 20:52:09 -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
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
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
fde50cce32 move timeout interval into config file; cleanup 2013-08-12 07:41:48 -07:00
Eric House
787367071d show only those devids in the visible games 2013-08-08 19:55:04 -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
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
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
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
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