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
Eric House
5d8cd5a17f
recognize already-seen devices. This seems to occasionally fix
...
reconnect problems but needs to be studied/tested more -- check logs.
2013-07-20 11:44:00 -07:00
Eric House
464ef49018
add new send_via_udp that may be able to check for address validity
2013-07-20 10:37:38 -07:00
Eric House
792a51a404
change ivar name
2013-07-20 08:33:22 -07:00
Eric House
61992943dd
Add mapping from address to devid in order to catch when an address is
...
reused. That required making AddrUnion a class rather than a simple union.
2013-07-20 08:06:14 -07:00
Eric House
573a87993e
Don't propogate chat when queue too full. This *should* only impact
...
tests since users won't keep chatting at a non-responsive friend.
2013-07-20 08:01:56 -07:00
Eric House
32150049e2
assert that we aren't tracking two connected games with the same hid
2013-07-20 06:28:35 -07:00
Eric House
27d9f3de45
Don't enable chat when more than 128 messages are in queue to prevent
...
an extremely unlikely cause of stalls -- and make tests trip over full
queues less often.
2013-07-18 07:37:45 -07:00
Eric House
3f59b31d51
Log received udp messages as b64-encoded strings. These match what the
...
relay's now logging
2013-07-18 07:07:25 -07:00
Eric House
1e6ff9b33c
include seed in chat messages to make sure they're unique
2013-07-18 07:06:20 -07:00
Eric House
2ce097629f
log contents of udp packets as b64-encoded strings for debugging; off
...
by default.
2013-07-18 06:52:07 -07:00
Eric House
06dd9a99a1
better logging
2013-07-17 21:34:52 -07:00
Eric House
3737f19548
better logging
2013-07-17 21:34:27 -07:00
Eric House
972dcfec81
cleanup
2013-07-17 21:33:59 -07:00
Eric House
1d5cf0bea7
don't remember devid unless it's valid
2013-07-17 21:33:36 -07:00
Eric House
93a7c7f817
fix to compile when DEBUG not defined
2013-07-17 06:52:35 -07:00
Eric House
bf39f9194c
kill service after 3 minutes of no socket activity
2013-07-17 06:42:54 -07:00
Eric House
d436232800
correctly log b64 dump of return address at record and use sites
2013-07-17 06:38:25 -07:00
Eric House
62dacb83d8
fix to compile when DEBUG not defined
2013-07-16 08:17:46 -07:00
Eric House
4d9d65b67e
Merge remote-tracking branch 'origin/android_branch' into android_branch
2013-07-16 08:07:41 -07:00
Eric House
3d9539b42b
don't stop comms before every save, but only when stopping
2013-07-16 08:06:23 -07:00
Eric House
5571816339
enable udp by default
2013-07-16 08:05:46 -07:00
Eric House
403401745e
network connection stuff must not be run on main/UI thread, so to
...
preserve socket connection completing before startup of read and write
threads, move it and start of write thread to beginning of read
thread.
2013-07-16 08:01:59 -07:00
Eric House
b7e00bfc0c
log when unable open game based on rowid -- which may happen if
...
e.g. relay is sending packets to wrong device.
2013-07-16 07:56:56 -07:00
Eric House
d6fd79be44
log, and be more aggressive about closing, sockets on which errors occur
2013-07-16 06:43:30 -07:00
Eric House
e6e7154c82
close socket rather than proceed with what looks like a bad packet/connection
2013-07-16 06:42:21 -07:00
Eric House
021d6370f3
drop, rather than asserting about, corrupt packets -- meaning where
...
the player counts don't make sense.
2013-07-16 06:40:00 -07:00
Eric House
1638d964fb
log socket address to try to track down apparent misaddressing
2013-07-16 06:38:26 -07:00
Eric House
cd728853b9
check for case where rowid doesn't exist (rather than NPE)
2013-07-15 07:51:15 -07:00
Eric House
e80fe76652
assert we don't go out of bounds on array
2013-07-15 07:33:27 -07:00
Eric House
27e90c2d2c
exit as soon as there's a core file
2013-07-15 07:16:35 -07:00
Eric House
b5714e9d14
improve API: hide special numbers inside implementation
2013-07-12 08:24:44 -07:00
Eric House
ab1ae7c9ad
remove logging
2013-07-12 08:19:53 -07:00
Eric House
9e358ad413
don't insert a new message in queue if it's identical to the one
...
currently at the end. This mostly happens when devices are making
several initial client connection attempts before succeeding.
2013-07-12 07:34:12 -07:00
Eric House
8a4e766b32
make 50% of games communicate via UDP by default
2013-07-11 20:39:40 -07:00
Eric House
491b288631
assert that the seed's preserved for curses version too (where
...
clientToken is otherwise ignored since there's only one game per app
instance)
2013-07-11 20:39:10 -07:00
Eric House
9db54a5461
make linux version's gameToken combine game's seed with rowid so we
...
can test that the relay is keeping them straight
2013-07-11 20:01:17 -07:00
Eric House
f27d8d5d8f
list java files first so their methods, which tend to be more
...
numerous, will be found last.
2013-07-11 19:56:37 -07:00
Eric House
d6658c5c08
don't show other_disconnected error message
2013-07-10 23:14:48 -07:00
Eric House
7dfd19a7a2
name change
2013-07-10 23:14:24 -07:00
Eric House
5814febad5
better client token logging
2013-07-10 23:13:50 -07:00
Eric House
2060aa4577
don't match on empty devID
2013-07-10 23:12:57 -07:00
Eric House
a522266ce4
add message checksumming for android too by making it part of util
...
(compiled out by default)
2013-07-10 08:05:47 -07:00
Eric House
dbf156fca7
remove excess logging
2013-07-10 08:02:28 -07:00
Eric House
5462a05692
Merge branch 'gtk_multigame' into android_branch
2013-07-09 19:35:26 -07:00
Eric House
bf1cdf225c
print queue less frequently
2013-07-09 19:32:49 -07:00
Eric House
4bde445c48
fix so gtk mode works too by providing storage for CurGameInfo
2013-07-09 18:19:22 -07:00
Eric House
5a20cc282c
fix so curses app works well enough that discon_ok2.sh script runs
...
successfully. GTK mode is untested and certainly broken.
2013-07-09 18:10:41 -07:00
Eric House
48fbf15a69
needed to quote variable
2013-07-09 18:07:03 -07:00
Eric House
f5696334a9
changes to get the merged code to compile but not included by git in the commit
2013-07-09 07:25:23 -07:00
Eric House
79f07e8751
cleanup
2013-07-09 07:19:20 -07:00
Eric House
d50c808f96
Merge branch 'android_branch' into gtk_multigame
...
Conflicts:
xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgDelegate.java
xwords4/common/comms.c
xwords4/linux/cursesmain.c
xwords4/linux/cursesmain.h
xwords4/linux/gtkmain.c
xwords4/linux/gtkmain.h
xwords4/linux/linuxmain.c
xwords4/linux/main.h
xwords4/linux/scripts/discon_ok2.sh
xwords4/relay/xwrelay.cpp
(Note: The curses app crashes on exit with mempool assertions, but that's a problem before the merge.)
2013-07-09 07:18:00 -07:00
Eric House
db26c32c3e
revert accidental part of commit
2013-07-08 07:14:42 -07:00
Eric House
7d968f8502
target is now hard-coded since I reliably can't derive it from the
...
manifest file.
2013-07-08 07:13:48 -07:00
Eric House
7e36171046
add comment
2013-07-08 07:13:04 -07:00
Eric House
11994d06f8
quote variable to make shell happy
2013-07-08 07:09:03 -07:00
Eric House
e7d20fd2a3
change API version configured by build script to be what I'm using now
2013-07-08 07:03:57 -07:00
Eric House
008cce8f37
Revert "pass additional param into java world so don't show toast every time connect to relay"
...
This reverts commit e9615cb154
.
2013-07-08 06:30:26 -07:00
Eric House
bb68b25429
remove suggestion I don't have permission to use icons!
2013-07-07 19:53:12 -07:00
Eric House
a3de759d9e
fix to compile on Android when DEBUG set
2013-07-07 19:40:07 -07:00
Eric House
e9615cb154
pass additional param into java world so don't show toast every time connect to relay
2013-07-07 13:31:49 -07:00
Eric House
923d41e0ee
fix to compile when DEBUG not set
2013-07-07 13:17:26 -07:00
Eric House
0f104db88c
list another change
2013-07-07 13:07:12 -07:00
Eric House
2c5ac1c293
remove excess logging
2013-07-07 13:07:02 -07:00
Eric House
fb32c847ae
more changes from translator
2013-07-05 21:37:38 -07:00
Eric House
bbac923f68
assert queueLen at the point where it'll be easier track why it's overgrowing
2013-07-05 21:32:41 -07:00