Commit graph

441 commits

Author SHA1 Message Date
Andy2
0d4e839dba log an error and drop bad fwd packet rather than assert 2011-12-07 18:43:13 -08:00
Andy2
17edc79aaf Merge branch 'android_branch' into send_in_background
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/XWApp.java
2011-12-06 19:56:10 -08:00
Eric House
7015ae500b exit after showing usage 2011-12-06 18:50:04 -08:00
Eric House
dc42e63974 fix read_packet() logging 2011-12-02 18:55:47 -08:00
Eric House
b706486b6e get rid of stringstream: it's either buggy or I'm using it
incorrectly, but regardless postgres doesn't like random chars
terminating queries.
2011-12-02 18:32:37 -08:00
Eric House
3f5e62c9b7 remove logging 2011-12-02 18:31:05 -08:00
Eric House
c1e420f726 Merge branch 'android_branch' into send_in_background
Conflicts:
	xwords4/relay/rq.c
2011-11-29 06:45:32 -08:00
Eric House
ba5ff6cb5d fix too-small buffer. Seems I've done this before. 2011-11-28 20:35:34 -08:00
Eric House
e5a943eecb tweak output 2011-11-28 18:15:09 -08:00
Eric House
f20f9d6503 complain if conf file not found (rather than leaving relay to crash
with an assert whose cause may not be obvious)
2011-11-28 18:14:39 -08:00
Eric House
72a3ed1891 increase buffer size: longer relay name caused stack overwrite
failures.
2011-11-21 17:33:44 -08:00
Eric House
cd699ba547 close socket when done 2011-11-17 19:56:54 -08:00
Andy2
da5da3dd89 wait for connection rather than asserting immediate success so can be
started before server.
2011-10-07 18:50:37 -07:00
Andy2
28e5c39845 get rid of stringstream where it wasn't working (maybe because of user
error -- whatever); fix error check to avoid false conclusion that
query didn't work so that update of num bytes sent in background works.
2011-09-30 18:20:28 -07:00
Andy2
d9e97d2f32 reduce logging 2011-09-30 18:10:22 -07:00
Andy2
6553546642 cleanup; add logging for debugging background packets stuff. 2011-09-30 06:36:56 -07:00
Andy2
cb6a16f8f8 add ability to connect on nbs socket and use as destination for
messages fetched from relay, and to receive replies on same socket for
forwarding to relay.
2011-09-30 06:34:09 -07:00
Andy2
58be931558 remove messages after sending them if they appear to have been sent
successfully.
2011-08-17 19:52:55 -07:00
Andy2
2c26fc03e3 Track messages sent via proxy and credit nsent (accumulator) if
successful.  Previously messages sent via proxy were not counted.
2011-08-17 18:09:10 -07:00
Andy2
b511b4c455 add new RecordSent to take list of msg ids -- and use stringstream
instead of static buffer and snprintf in one case.  May make sense
elsewhere too.
2011-08-17 18:07:21 -07:00
Andy2
30145deba7 add new proxy message handler for no-conn message, and feed into
existing store-and-forward system.  With this checkin a robot-vs-robot
game plays for quite a few moves without either game every loaded into
the foreground (via a BoardActivity instance on Android), with all
moves transmitted as a result of relay checks.  One of the games
refuses to open later, however, and there are certainly other bugs.
And I'm not sure what happens when a message sent no-conn (without a
cookie ID) is received in the foreground.  But this is progress.
2011-08-16 19:41:33 -07:00
Andy2
dc273c7162 fix proxy msg handling to process more than one relayID per message.
Formerly all but the first were dropped.
2011-08-15 18:27:00 -07:00
Eric House
421e2a4ae3 fix uninitialized variable 2011-07-08 05:53:08 -07:00
eehouse@eehouse.org
ba4d898de1 Merge branch 'android_invite' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_invite 2011-07-06 19:12:16 -07:00
Andy2
86e3cc7286 When device reconnects to a dead game, just deny the connection with a
new error message rather than allow it as if it were a normal game
only to send a game-dead message after.  This solves the problem of
how device knows not to put up welcoming message or suggestion to
invite to a game that's suddenly missing players.  BUT: this change is
incompatible with existing versions and so needs to get pushed out
before the in-use relay can be upgraded to include this code.
2011-07-06 06:47:25 -07:00
Andy2
928404be50 remove unused enum 2011-07-06 06:15:25 -07:00
Eric House
a3dbde9b88 more dealing with edge cases. 2011-07-05 21:42:03 -07:00
Eric House
98a65d82ed fix crash in rare edge case 2011-07-05 21:40:13 -07:00
Eric House
d3108aac79 split method in two to provide new API (I'm not using yet) 2011-07-05 21:39:38 -07:00
Andy2
999d4c11e7 simple script for watching what messages the relay has pending for a
game.
2011-07-04 12:51:27 -07:00
eehouse@eehouse.org
8f782070ac Merge branch 'android_invite' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_invite 2011-07-03 09:28:36 -07:00
Andy2
175aace629 fix a couple of rare failures due to race conditions testing or
valgrind flushed out.
2011-07-02 13:28:24 -07:00
Eric House
09b81c6ad7 fix rare crash: don't call PQgetvalue when there are no results. 2011-06-30 19:39:00 -07:00
Eric House
b4a513ce87 reduce logging; log errno on syscall failure 2011-06-29 21:38:31 -07:00
Eric House
8e31fd88c3 reduce logging; and fix valgrind-found problem using wrong
synchronization primative.
2011-06-29 21:37:33 -07:00
Eric House
04740486fb wrap more logging in ifdefs 2011-06-29 21:35:21 -07:00
Eric House
2b4f439a2f rough script to parse logs looking for threads that have hung (stopped logging) 2011-06-29 21:32:18 -07:00
Andy2
57cfefb6a9 fix leaks -- that don't really matter as process is exiting, but
quiets valgrind.
2011-06-29 18:45:02 -07:00
Andy2
f3a4ff9dfc use cid for variables of type CookieID everywhere instead of almost
everywhere
2011-06-29 18:42:41 -07:00
Andy2
c84722fc22 add ack 2011-06-27 06:45:14 -07:00
Andy2
fffcbb677e under testing I'm running up against the 1024-files-open limit and
dying with an assert.  Log something -- but still die as there's
nothing to be done in code except hope some connections don't
reconnect right away.  Fixes: 'ulimit -n' or edit 'nofile' param in
/etc/security/limits.conf on the relay host.
2011-06-27 06:20:51 -07:00
Andy2
c2cd3a709a specify name of database in config file rather than hard-coding it. 2011-06-25 21:32:18 -07:00
Andy2
ffeb94e4bd start getting rid of super-verbose logging 2011-06-25 21:30:32 -07:00
Andy2
cdc16ee974 variable/method name change only: cookieid->cid 2011-06-25 15:43:52 -07:00
Andy2
38ad3aa81c cleanup; and: collapse HostRec and socket set into map of socket to
HostRec, protecting all accesses with ReadWrite locks.
2011-06-25 15:40:12 -07:00
Andy2
6c121dac57 final set of changes -- all test cases now seem to be passing. Stop
duplicating set of sockets owned by a cref, moving it from cinfo into
cref and caching a copy outside when cref is unclaimed (after which no
change is possible until it's claimed again.)
2011-06-24 18:34:34 -07:00
Andy2
df60ec648b Don't return new error XWRELAY_ERROR_NORECONN as devices don't have it
yet.
2011-06-24 18:32:53 -07:00
Andy2
9ff149fe2d fix race: if we get a cid from the DB while another thread has claimed
that cid, then by the time we can claim it there's no longer space for
us.  Call new method after the claim succeeds to make sure there's
still room, and if not relinquish and loop back to the DB for another
try.
2011-06-23 19:00:32 -07:00
Andy2
c51e5e41f4 fix ClaimSocket: it was neither marking claims nor checking for marks. 2011-06-23 18:58:50 -07:00
Andy2
63a4e6c953 get rid of per-cref mutex: it's redundant now that access is
synchronized.  Add method to check if new players are still welcome to
allow fix for race.
2011-06-23 18:57:48 -07:00