Eric House
f2c4c82129
a shot at no-conn connecting
...
Ideally the comms module wouldn't go through its connecting routine in
order to join a game. To that end I added a join() method to relay.py
and code to call it. Joins happen (pairing games, starting new ones,
etc.), but after that communication doesn't. First part of fixing that
would be to make cookieID persistent and transmit it back with the rest
of what join sends (since it's used by all the messages currently sent
in a connected state), but I suspect there's more to be done, and even
that requires a fair number of changes on the relay side. So all that's
wrapped in #ifdef RELAY_VIA_HTTP (and turned off.)
2017-11-10 21:34:02 -08:00
Eric House
ecc247d56d
fix a couple of obvious bugs
2017-11-10 20:30:25 -08:00
Eric House
7efcdf0cb8
script for tracking message delivery
...
The http-based comms flow is stalling. This will help figure out why.
2017-11-04 09:27:33 -07:00
Eric House
1648c9b3e3
tweak to start GTK games and run a long time
...
I'm trying to fix game-start-time right now....
2017-11-04 09:27:33 -07:00
Eric House
3a2953427a
combine adjacent QUERY tasks
...
Trying to reduce the size of the queue. Eventually the lists of relayIDs
will need to be merged.
2017-11-04 09:27:33 -07:00
Eric House
24171d8317
log more about tasks
2017-11-02 07:16:51 -07:00
Eric House
55f5b500e3
cleanup: method names and logging
2017-11-02 06:19:35 -07:00
Eric House
220918e5cd
fix to compile with gdk3.2 (latest Debian)
2017-11-01 05:16:32 -07:00
Eric House
61937ac2d0
use float consistently
...
timeout of 0 was not making the relay.py script happy
2017-10-31 20:07:12 -07:00
Eric House
a1433e5f3d
add kill to relay.py; call from test script using curl
...
It'll eventually get called from Android and maybe linux, but for now
it's cool to have games disappear from the showinplay display when
they're done.
2017-10-31 20:05:07 -07:00
Eric House
8aeba861cf
fix script to move db files again
2017-10-31 06:38:32 -07:00
Eric House
8ee17493ac
log length of task lifetime
...
Need to figure out where the delays are.
2017-10-30 07:12:34 -07:00
Eric House
3d3a986dbd
log count of tasks abandoned in queue on shutdown
...
This confirms that I need to process outgoing messages more quickly,
likely by combining them.
2017-10-29 09:46:51 -07:00
Eric House
1373d0b1db
make min-run configurable
...
With the new http stuff, at least for now, it takes longer to get things
communicated and so killing games after 2 seconds of runtime meant no
moves ever got made. Making it configurable, and passing 10 (seconds)
means nearly all games in a large test run complete reasonably quickly.
2017-10-29 09:26:07 -07:00
Eric House
7b50c90aac
pass timeoutSeconds
...
ACK doesn't need to wait 2 seconds for a reply, and when it does so the
next send waits too. Eventually we'll want to combine messages already
in the queue into a single send. For now, this makes things better.
2017-10-28 20:12:05 -07:00
Eric House
3e9381d946
use a single timer and a queue for received data
...
using g_add_idle() for each piece of data received on the (background)
curl-query thread wasn't working. They were getting starved, and I think
some were considered duplicates and never scheduled. So add a single
timer proc called every 50 ms and a queue that it checks and into which
the network thread can put stuff.
2017-10-28 16:13:11 -07:00
Eric House
3215affd68
tweaks to test script
2017-10-28 15:31:17 -07:00
Eric House
952272172a
always log bytes sent
2017-10-27 05:58:35 -07:00
Eric House
a8f06b53e2
test script; log threadid
2017-10-27 05:57:40 -07:00
Eric House
051b6a7220
change resign-ratio to resign-pct
...
To match the way other pct stuff works, in part because it seemed it
didn't.
2017-10-25 20:00:55 -07:00
Eric House
14d9063ad0
add --room to error message/hint
2017-10-25 06:43:10 -07:00
Eric House
81df91c4db
add commandline option to spec log dir location
2017-10-25 06:34:55 -07:00
Eric House
d05a67ed4b
switch to milliseconds
2017-10-25 06:15:46 -07:00
Eric House
c68a067009
add option to not check moves except manually
2017-10-24 19:18:19 -07:00
Eric House
6ff13e6e23
move 'check moves' menu to main window
2017-10-24 19:14:23 -07:00
Eric House
342d229be1
refactor
2017-10-24 07:07:22 -07:00
Eric House
28bec6d456
implement checkForMoves menu again
2017-10-24 06:20:08 -07:00
Eric House
2cfac68f91
leave out entries without relayIDs
...
SQL is the easiest place to filter
2017-10-23 21:08:14 -07:00
Eric House
c3887b9c77
use a single thread and a protected queue
...
I don't want race conditions between threads talking to the server.
2017-10-23 21:07:05 -07:00
Eric House
4c15723f90
add http option to test script
2017-10-22 11:43:56 -07:00
Eric House
16ee3e9439
rename and make self-initing
2017-10-22 10:05:36 -07:00
Eric House
523fd26eee
make relay hostname configurable
2017-10-22 09:58:01 -07:00
Eric House
f49c81462c
wip: received messages dispatched to games
2017-10-22 09:29:15 -07:00
Eric House
43ffb156fc
wip: successfully get list of moves
2017-10-22 07:30:14 -07:00
Eric House
47a048d553
fetch relayIDs from db
2017-10-21 16:05:54 -07:00
Eric House
a65af79953
add check for being on main thread
2017-10-21 15:23:46 -07:00
Eric House
ec7fde3b62
add relayID to DB and to table
2017-10-21 14:59:10 -07:00
Eric House
a6602fabe0
hide menuitem when not in http mode
2017-10-21 14:24:38 -07:00
Eric House
37162e0471
fix curses commit; refactor & cleanup
2017-10-21 12:11:26 -07:00
Eric House
816df4336c
run post in thread since it takes time
2017-10-20 06:26:46 -07:00
Eric House
3045697d31
wip: process moves received
2017-10-19 21:20:14 -07:00
Eric House
5223ccabe1
add option to run forever
2017-10-19 20:50:33 -07:00
Eric House
4a1e51b54a
call query from C
...
Very rough code that fetches messages and does nothing with them.
2017-10-18 22:03:14 -07:00
Eric House
fbaa1f139e
add test method and implement query() endpoint
2017-10-18 21:18:30 -07:00
Eric House
e6e93c09ab
oops: use the right length
2017-10-18 07:19:43 -07:00
Eric House
c08be98fda
wip: include multiple packets in reponse json
2017-10-18 07:09:05 -07:00
Eric House
b86ffeb2b9
wip: data gets to relay and response handled
...
A device registers and a game can start. But we don't get to being
able to make a move yet.
2017-10-18 06:53:15 -07:00
Eric House
2dc80ac93f
talk to new python script to interface with relay
...
So far uses curl and json-c to send b64-encoded data to new script
which is able to echo the data. Next that script will need to open a
UDP socket to the relay and return results that appear before timeout.
2017-10-17 21:32:11 -07:00
Eric House
36aef059c1
remove assertion: deviceID can change
...
Hit this nuking the devices table mid-game. Games recover with the
assertion removed (and storing the new/non-matching deviceID)
2017-10-07 10:47:44 -07:00
Eric House
2cabf2332c
fix compiler-found (but trivial) error
...
debian's new compiler rocks. Effected only test code I never use, but
still nice to fix.
2017-10-07 08:03:18 -07:00