Eric House
fb4f44b0fc
remove mistaken assert
...
I'm not quite sure why it was firing, but the pattern of a FindGame
failing due to a race condition and requiring a retry exists elsewhere
in the code. Lots of tests pass once this change is made. :-)
2017-11-12 19:59:20 -08:00
Eric House
5bd71ba7c5
put cids back into the database
...
The hack I came up with for storing them in memory isn't working. Even
if it's just that I don't understand C++ maps they need to be cleared
when the DB's wiped (my favorite test these days) and I don't want to
spend the time now.
2017-11-11 18:46:02 -08:00
Eric House
7c22d1fdf8
fix failure of http apps to ack relay
...
Change how acks are handled by adding ability to look up connname by
combination of hid and token. It's a bit of a hack, but it's already
there in the protocol and enough to find the game.
2017-10-28 16:29:04 -07:00
Eric House
7d4fb1cc5d
get rid of last [] from map access
2017-10-28 15:36:33 -07:00
Eric House
e3b2a0e4e1
fix misbehavior by new in-memory map
...
I don't know why what I was doing didn't work, but removing access via
[] and using iterators passes all the asserts I could throw at it.
2017-10-28 15:01:31 -07:00
Eric House
3645331061
pass hid in to db function getting per-dev info
...
Somehow I've been failing to treat this column as an array for some
time. I don't have any test cases that failed but it was clearly
wrong. Test cases still pass....
2017-10-25 20:33:25 -07:00
Eric House
6e06fdea07
stop storing cid in database
...
It's a runtime-only thing, explicitly removed from db on boot. So add a
map from connname->cid to the dbmgr class and modify that rather than a
column. Passes discon_ok2.sh tests as long as use-http stuff isn't on.
2017-10-25 19:56:56 -07:00
Eric House
cc54621e45
store message first, remove on ack
2017-10-25 05:51:45 -07:00
Eric House
37ecd81c04
change param names
...
about to introduce a second. This will make things clearer. No code
change here though.
2017-10-10 20:17:36 -07:00
Eric House
6f0fb66a0d
fix three-year-old huuuuge memory leak
...
Hadn't run Valgrind in a while. There's another too, but much smaller
and harder to track down.
2017-06-07 08:07:42 -07:00
Eric House
3bff4c070a
fix compiler warning
2016-01-21 06:25:19 -08:00
Eric House
67f4e4475c
manual bring-over of relay changes for invite support
2015-07-11 08:08:22 -07:00
Relay User
9c7213e42b
Make it possible to launch relay early in machine boot cycle before
...
postgres is running (e.g. from a @reboot shortcut in a crontab) by
having it wait, sleeping periodically, until a connection is
available. Requires new flag be passed into main.
2015-07-11 07:04:24 -07:00
Eric House
d096b8e8a2
cleanup -- no code change
2015-06-26 06:10:47 -07:00
Eric House
68441c60f6
add local variable to prevent some dereferencing
2014-12-10 07:48:38 -08:00
Eric House
19573af533
a more elegant way of building up params to pass to PQexecParams
2014-04-25 18:45:51 -07:00
Eric House
6eaf7a57b5
fix crash when there's a "'" in model name
2014-04-25 07:41:58 -07:00
Eric House
0897ae2ba9
log the bad query
2014-04-17 07:43:58 -07:00
Eric House
9efb044c4f
simplify construction of one query
2013-10-09 21:13:22 -07:00
Eric House
bb246fd7e7
rename printf -> catf; no other changes
2013-10-09 20:20:45 -07:00
Eric House
c34fb48a2c
oops -- init mutex. This may be why the relay's hanging after a
...
crash.
2013-10-09 20:08:29 -07:00
Eric House
63067dc374
oops: the test is equality with 'epoch'
2013-09-25 07:33:41 -07:00
Eric House
31fa2ea442
turn on feature where sent messages are marked rather than deleted.
...
Make default 'epoch' rather than NULL so constraint will work to
prevent duplicates, and fix insertion SQL to not violate constraint.
2013-09-25 06:38:10 -07:00
Eric House
2e6d49303b
remove logging around hasNoMessages stuff -- too much
2013-09-20 04:54:05 -07:00
Eric House
af44c6d190
only append to mtimes when appending a new devid
2013-09-15 12:54:47 -07:00
Eric House
b67ea7293d
add mtimes, remove mtime, for devices to track each time the devid
...
changes. Eventually; now it's updated too often.
2013-09-15 12:46:40 -07:00
Eric House
c212c0e367
add in-memory cacheing of messageless-connname/hid combos.
2013-09-15 10:04:46 -07:00
Eric House
de1f1cf681
in devices table, replace devid and devtype with array so can track
...
history if/as they change; remove rrcount as no longer needed.
2013-09-15 09:59:51 -07:00
Eric House
2629c07256
Address problem with devids (e.g. GCM): until now when you got a new
...
devid you tossed your relayID and reregistered. Which meant any
existing messages meant for your relayID were orphaned, and any open
games didn't know who they belonged to until you reconnected to them
with your new relayID. So: modify the UDP protocol (though not on
Android yet) to include both relayID and devid with registration, with
one or the other an empty string if not present or not changed from
earlier. I can't fix existing clients that are dropping their
relayIDs, but when one does a re-connect without a relayID I can look
it up from the existing game record, then reuse it rather than issue a
new one. Better than nothing -- and that protocol will be obsolete
soon anyway.
2013-09-14 21:06:14 -07:00
Eric House
c115752852
supply in linux client, and look for and store on relay, os version
2013-09-07 16:17:31 -07:00
Eric House
8da0b73744
replace string_printf() with new class derived from std::string with
...
printf() method.
2013-09-02 13:17:42 -07:00
Eric House
d9bfc01e35
change unsigned char to uint8_t (using sed)
2013-08-29 22:55:11 -07:00
Eric House
0e6b211a76
fix treating game-targeted messages as if they were device-targeted.
...
Should probably have separate tables for the two types....
2013-08-29 06:37:22 -07:00
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
831018ed9d
oops: remove extra format specifier
2013-08-28 19:20:37 -07:00
Eric House
35a09512ce
add missing params
2013-08-26 08:41:42 -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
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
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
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
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
b49486fc3f
cleanup: use constant and add/use isUDP()
2013-08-07 21:31:10 -07:00
Eric House
a8cc920dcf
new method
2013-08-01 07:49:12 -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
9951064439
fetch all stored messages at once to reduce number of DB calls made.
2013-07-25 06:37:53 -07:00
Eric House
2060aa4577
don't match on empty devID
2013-07-10 23:12:57 -07:00
Eric House
254b82104c
reduce priority of log message
2013-07-05 08:03:31 -07:00