Commit graph

6787 commits

Author SHA1 Message Date
Eric House
bc6922cb8b add option to split tcp packets to test whether relay can handle reassembly. 2013-06-24 06:33:06 -07:00
Eric House
ed16437f9a don't refuse to store message when devid isn't available 2013-06-23 19:07:45 -07:00
Eric House
d14688a6a0 fix almost-infinite loop; assert no dup devids 2013-06-22 22:24:18 -07:00
Eric House
5dadbfdad3 drop messages without enough delivery info 2013-06-22 06:01:42 -07:00
Eric House
acd7c8519f give timers ids so can be tracked in logs 2013-06-22 05:56:27 -07:00
Eric House
07d6851a26 logging changes for debugging -- main not belong in main branch 2013-06-22 05:55:38 -07:00
Eric House
c1cc11866f tweak logging 2013-06-22 05:54:32 -07:00
Eric House
25bf0e7191 assertion: should never have two recs for same socket 2013-06-22 05:53:54 -07:00
Eric House
5d20ef872e cleanup 2013-06-22 05:53:32 -07:00
Eric House
6d22c3ab86 tweak logging 2013-06-22 05:51:29 -07:00
Eric House
6027c94a43 don't pass uninitialized variables to logf 2013-06-21 07:26:11 -07:00
Eric House
b1ef09625e pair delete[] with new[] 2013-06-21 07:25:41 -07:00
Eric House
c587848349 cleanup 2013-06-21 06:59:44 -07:00
Eric House
5e22508ff7 kill existing xwords instances as part of --clean-start 2013-06-21 06:58:20 -07:00
Eric House
8b8d22a7ba fix compile error: move function back to being inline since header
can't be readily included from .h file
2013-06-21 06:14:10 -07:00
Eric House
2a35fac1e8 rather than invalidating socket in AddrRec when it's closed, add a
timestamp set when it's opened.  Older copies with the same socket can
be tested against the cannonical copy maintained by tpool and sending
avoided when the timestamp shows the endpoint has likely changed.
Change tpool's list of sockets to a map for faster lookup, and get rid
of similar structure in udpqueue.
2013-06-21 06:05:26 -07:00
Eric House
6446819466 use nice to give the relay a fighting chance 2013-06-21 05:41:23 -07:00
Eric House
11d299606e test for socket == -1 (invalidated) before sending 2013-06-20 07:10:09 -07:00
Eric House
46bd4d0047 inval tcp sockets in return addresses of packets waiting processing
when they're closed to prevent attempting to write replies to the
wrong device should the socket be reopened.
2013-06-20 07:07:56 -07:00
Eric House
5bec10048b add --clean-start option to speed testing 2013-06-20 06:45:51 -07:00
Eric House
985f7bfea0 tweak: don't restart whole loop on unlikely random result 2013-06-19 07:27:34 -07:00
Eric House
ecef687471 drop message, rather than asserting, if device id isn't in db. 2013-06-17 07:52:58 -07:00
Eric House
3e9dfb9a9d allow a thread to get a cidlock it already has. 2013-06-17 07:26:54 -07:00
Eric House
950e754ca2 cleanup 2013-06-17 07:26:10 -07:00
Eric House
a546c025d5 Rather than queuing sockets needing reading, read them immediately and
queue the packets for processing.  Add ids so they can be tracked in
the logs.  In addition to making tcp and udp packet processing more
similar this fixes the case where a read is delayed until after the
client has closed the connection (and so returns an error.)
2013-06-17 07:25:25 -07:00
Eric House
1928554444 add asserts and clarifying comments 2013-06-17 06:54:38 -07:00
Eric House
7ce939f5c0 pass rather than hard-coding column name 2013-06-17 06:48:22 -07:00
Eric House
5da4936e43 report unexpected received packet size as an error 2013-06-17 06:42:21 -07:00
Eric House
e89fd3e8cc fix names to make units clear -- no code change 2013-06-10 06:38:42 -07:00
Eric House
c8f584dad2 don't listen on stdin if it's been closed 2013-06-10 06:15:36 -07:00
Eric House
e6488ff8c1 save space by shortening column names 2013-06-07 20:54:57 -07:00
Eric House
bf767577e3 msg64 will not always be set! Don't delete in that case. 2013-06-07 20:54:16 -07:00
Eric House
ed1e2a0812 fix formatting -- no code change 2013-06-05 21:14:51 -07:00
Eric House
00be532c96 fix formatting -- no code change 2013-06-05 21:11:37 -07:00
Eric House
6a9c0bf5d4 up version strings for next beta 2013-06-05 20:56:59 -07:00
Eric House
6b2ec193c2 cleanup 2013-06-05 08:04:00 -07:00
Eric House
280154a12c fix bad message when dict deleted by using the right rowid variable -- duh. 2013-06-05 08:03:13 -07:00
Eric House
f9676f5ffd set focusableInTouchMode on wordlist browser's layout. This is the
only way I can find to prevent the soft keyboard from coming up on
launch.
2013-06-05 07:34:31 -07:00
Eric House
ca8a37d822 move less-used buttons to right where they may be off-screen 2013-06-05 07:33:31 -07:00
Eric House
c6d06e5fa4 bring up new popup on tap rather than long-tap of browser button to
make it easier to discover.  Long-tap now opens the wordlist directly.
2013-06-05 06:59:08 -07:00
Eric House
bb130a9b9f new feature: long-click on wordlist button in BoardActivity brings up
a popup of all wordlists so you can browse one that's not in use,
e.g. to see if a word's legal in a larger wordlist.  Uses PopupMenu
class that was introduced in API 11, so 11's the target now and the
interface trick is used to prevent crashing on older devices (which
get a "needs newer Android" alert.)
2013-06-04 07:29:40 -07:00
Eric House
c32df1a487 use alpha to dim pending score rather than mucking with the rgb values 2013-06-01 08:10:03 -07:00
Eric House
9d40930fff pass new param into java, and when it's not the player's turn draw
pending points with his color at half-intensity.
2013-05-31 07:40:42 -07:00
Eric House
d41c1a4ca8 add new param so pending text can be drawn differently when it's not
the player's turn.
2013-05-30 07:17:13 -07:00
Eric House
8e8b4755b3 bring in changes from gtk_multigame to remove assertion fail when
connname gets changed by relay due to failure to ack it (which happens
when a large number of games is being run in a test.)
2013-05-30 06:48:29 -07:00
Eric House
8b888b8d96 fix compile errors due to stricter compiler post debian upgrade 2013-05-29 06:36:54 -07:00
Eric House
72a78100b1 fix compile error in non-debug version 2013-05-27 16:18:11 -07:00
Eric House
eccd31472f fix crash when udp not in use 2013-05-27 16:17:58 -07:00
Eric House
ffa983db94 use pipe to quit from signal handler since calling g_main_loop_quit()
doesn't work with more recent glib versions (and has always been a bad idea)
2013-05-24 21:19:20 -07:00
Eric House
a1b6641067 catch and ignore exception from malformed user-provided url 2013-05-24 21:17:22 -07:00
Eric House
f4c18a78ac clear game-launched flag in onNewIntent so that one game can replace
another via a Notification- or other-sourced Intent
2013-05-23 07:51:03 -07:00
Eric House
6c7cf1fa97 fix bug where two quick taps on a game will launch two copies (or
crash a slower device) by tracking whether an open's in progress
2013-05-23 06:48:40 -07:00
Eric House
cc2ecdc5b2 two post-conflicted-merge changes git didn't pick up for some reason (emacs?) 2013-05-22 07:03:08 -07:00
Eric House
31c443e4b1 Merge branch 'android_branch' into gtk_multigame
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/GCMIntentService.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/RelayService.java
2013-05-22 07:01:08 -07:00
Eric House
2e30ccd4c6 expect array of message bodies rather than just one 2013-05-22 06:45:34 -07:00
Eric House
120748416b handle GCM messages containing data, changing clientVers so server
knows we can.  And send to relay in AsyncTask rather than UI thread.
2013-05-22 06:44:01 -07:00
Eric House
076b1b7543 remove logging 2013-05-22 06:44:01 -07:00
Eric House
78b3a91925 format: send array of message bodies rather than just one 2013-05-22 06:40:02 -07:00
Eric House
11709b21bd remove redundant parameters 2013-05-22 05:51:33 -07:00
Eric House
7d81083d7d send using old message format to old clients, new to new 2013-05-22 05:39:20 -07:00
Eric House
9b5607d829 send message along with GCM notification that ... there's a message.
Should eventually allow GCM-aware clients to skip connecting on
launch, and for now to make them a tiny bit snappier.
2013-05-21 19:35:34 -07:00
Eric House
2a2157b504 add DICTNOTE 2013-05-21 06:58:53 -07:00
Eric House
b58fe30ecc add synonyms to tile counts/values summary 2013-05-14 22:00:22 -07:00
Eric House
4d96b695e6 toward having commandline params show up as defaults in new game dialog 2013-05-10 07:19:32 -07:00
Eric House
9e67dda5a9 make use of base-64 encoding runtime-configurable 2013-05-09 22:16:48 -07:00
Eric House
4470a9e66c clean up a couple of debug-only strings 2013-05-09 22:15:38 -07:00
Eric House
f9f7874a55 make use of base-64 encoding runtime-configurable 2013-05-09 21:53:54 -07:00
Eric House
79a212c985 don't put up dict change dialog (which blocks) unless names are
different.
2013-05-09 21:37:58 -07:00
Eric House
d74814a806 part of previous (merge) commit that got left out -- files not saved. 2013-05-09 06:33:19 -07:00
Eric House
7d8cddb31f Merge branch 'android_branch' into gtk_multigame
Conflicts:
	xwords4/linux/gtkmain.c
	xwords4/linux/linuxmain.c
	xwords4/relay/xwrelay.cpp
2013-05-08 07:37:55 -07:00
Eric House
3e9bb1c6b9 fix leak: dispose struct before overwriting it 2013-05-08 06:38:52 -07:00
Eric House
66d42fe5f2 fix a couple of leaks 2013-05-07 07:07:10 -07:00
Eric House
407a82322c modify to server the latest beta for non-debug users 2013-05-02 06:58:36 -07:00
Eric House
9cfc6be82c fix for when wordlist not found 2013-05-02 06:52:12 -07:00
Eric House
5a026ffda3 merge android_wordlists (local branch) 2013-05-01 06:39:31 -07:00
Eric House
c31a1d98df update changes list 2013-05-01 06:33:22 -07:00
Eric House
4e2f5b3b14 add (commented-out) debug function to print list of extras in an intent 2013-05-01 06:26:02 -07:00
Eric House
a62f9d4097 Fix but with missing-dict SMS invites: add missing intent extra. 2013-04-30 21:20:59 -07:00
Eric House
c8f447171a Stop SMS service if play via SMS is disabled by user 2013-04-29 07:40:42 -07:00
Eric House
e4eb867717 add new flag bit to built-in wordlists 2013-04-20 19:46:52 -07:00
Eric House
541fc546ab remove that bit from flags -- since we already do the right thing for it. 2013-04-20 19:46:35 -07:00
Eric House
519ba71e87 add new bit indicating that wordlist has synonyms 2013-04-20 19:45:54 -07:00
Eric House
87e21cd204 fix type in English string 2013-04-18 19:46:12 -07:00
Eric House
81ce47fe5e Add Brazilian Portuguese translation. 2013-04-18 19:44:52 -07:00
Eric House
bc1c8d0769 add variants of multi-letter "specials" that mix case 2013-04-18 19:42:02 -07:00
Eric House
75d11d7d95 Revert "First cut at Brazilian Portuguese localization, unmodified from what"
This reverts commit 6b43d29ff1.

Belongs on the main branch as it won't be part of the next beta.
2013-04-18 19:24:19 -07:00
Eric House
dbc8605d1d remove removed change from changelist 2013-04-18 19:19:41 -07:00
Eric House
0d260155ee Revert "On some devices a downloaded wordlist shows up twice, once in Internal"
This reverts commit 685971532a.

No way to test this right now....
2013-04-18 19:12:49 -07:00
Eric House
e4f52c5678 add assert and comment explaining why non-utf-8-aware hack is safe. 2013-04-18 07:15:14 -07:00
Eric House
cdcfef4e18 fix type in English string 2013-04-17 20:03:14 -07:00
Eric House
6b43d29ff1 First cut at Brazilian Portuguese localization, unmodified from what
the translator provided.
2013-04-17 19:59:41 -07:00
Eric House
7288e8c6dc up version/changes for next release 2013-04-16 07:14:03 -07:00
Eric House
685971532a On some devices a downloaded wordlist shows up twice, once in Internal
and again in Downloads.  I assume that's because the two directories
are the same, so fix by tracking directories that have been checked
and not checking the same twice.
2013-04-16 06:56:53 -07:00
Eric House
1614ebd551 new versions of builtin English wordlists with lowercase synonyms for all
letters ('a' for 'A', etc.)
2013-04-14 15:54:39 -07:00
Eric House
c8332a9665 load synonyms for specials correctly. So now Catalan works: wordlists
load, and search for "l-l" will find "L·L".
2013-04-14 15:45:23 -07:00
Eric House
cae631eeb0 handle synonyms in non-special tiles for Android: wordlists load and
display, and searching using lower case works.  Specials (e.g. Catalan
changes) not yet supported.
2013-04-14 11:58:11 -07:00
Eric House
2873d08974 fix memory leak 2013-04-13 16:49:20 -07:00
Eric House
195e6bfad3 add option to dump an .xwd file, meant to replace dawg2dict.pl which
is becoming a pain to maintain.
2013-04-09 21:10:40 -07:00
Eric House
5912b76cb8 add option to dump an .xwd file, meant to replace dawg2dict.pl which
is becoming a pain to maintain.
2013-04-09 21:05:35 -07:00
Eric House
07cfdad699 fix to support synonyms within specials too -- for linux only so far.
Seems to work, though the dawg2dict.pl script is broken.
2013-04-09 07:43:04 -07:00
Eric House
3a628f4375 load new-format dict into linux client, display default faces
correctly, and search using alternate as well as default faces.  Next:
support for alternate specials.
2013-04-06 11:43:57 -07:00
Eric House
03f175dd8f handle new format for tile face 'A|a', meaning "A" or "a", as far as
being able to compile a wordlist and take it apart using dawg2dict.
None of the compiled clients can handle this format yet.
2013-04-06 10:28:22 -07:00
Eric House
a9d94e2977 list changes for b59 2013-04-06 08:24:30 -07:00
Eric House
43f4e802b6 up copyright year -- it's 2013 now 2013-04-06 08:18:27 -07:00
Eric House
388d37e4ee deal with more than one connected device/emulator 2013-04-06 08:16:57 -07:00
Eric House
51d72447c6 fix crash when wordlist winds up in downloads dir (for reasons I don't
understand: I can't reproduce the crash but for at least one
correspondent it happens every time.)
2013-04-06 08:05:39 -07:00
Eric House
86b39b8340 up version strings and number 2013-04-06 08:04:05 -07:00
Eric House
567cd2913a Merge remote-tracking branch 'origin/android_branch' into android_branch 2013-04-06 05:32:10 -07:00
Eric House
cc7220fa85 first cut at makefile for new Brazillian Portugese wordlist 2013-04-04 07:18:36 -07:00
Eric House
bd1a909321 assert, in debug-only code, that saved moves alternate between players
and are ordered.  I've seen games in the wild with three moves in a
row by the same player and want to catch this in testing.
2013-03-01 07:49:26 -08:00
Eric House
2bfda1b56d function to print StackMoveType 2013-02-22 21:34:53 -08:00
Eric House
168ebeeb5b fix variable name misspelling 2013-02-22 21:10:46 -08:00
Eric House
7c937fd763 improve script a bit 2013-02-12 07:37:44 -08:00
Eric House
40470b491e update note for new version 2013-02-12 07:08:21 -08:00
Eric House
eafac8724e don't stop processing message referring to multiple games as soon as
one of them can't be found.
2013-02-08 20:58:09 -08:00
Eric House
6a1b86380e add missing files from gtk_multigame branch -- to fix broken compile 2013-02-04 21:33:35 -08:00
Eric House
5e0fd89c9e update with all relay/ changes from gtk_multigame. This is what the
live relay's running anyway.
2013-02-04 06:08:39 -08:00
Eric House
a18fb62b0f fix dialog not having custom OK button by not ignoring the param passed in. 2013-01-31 06:59:42 -08:00
Eric House
bf479c4334 Merge branch 'android_branch' into gtk_multigame 2013-01-30 08:03:48 -08:00
Eric House
660efa6380 rename script to be easier to type 2013-01-30 08:03:13 -08:00
Eric House
66a00bd76e make DlgState Parcelable rather than Serializable to work around what
seems to be a bug in the Blaze's OS.  (Requires that it be a
standalone class.)
2013-01-30 07:58:37 -08:00
Eric House
5e7fd39d66 always remove dialog state so we don't get confused 2013-01-29 21:59:42 -08:00
Eric House
0dc3856250 set initial rowID based on clock to avoid duplicates after an
uninstall/reinstall.
2013-01-29 19:02:53 -08:00
Eric House
d154efa441 rowid needs to be autoincrement to be useful as a token with new relay
protocol.  And you can't make it autoincrement except when creating a
table.  So add new column set equal to current rowid, then create a
new table and copy the old data into it.
2013-01-29 19:01:00 -08:00
Eric House
cdd40b0782 Merge remote-tracking branch 'origin/android_branch' into android_branch 2013-01-29 18:57:38 -08:00
Eric House
d88f66a890 record experiment with serialization -- no code change. 2013-01-29 18:57:03 -08:00
Eric House
d5842e79c2 use the new ANON devid type 2013-01-29 18:36:19 -08:00
Eric House
2cfa56c2d8 update to not require incomplete gcm module 2013-01-29 18:34:33 -08:00
Eric House
f3a063698c set initial rowID based on clock to avoid duplicates after an
uninstall/reinstall.
2013-01-29 08:01:14 -08:00
Eric House
c75ecef240 test deletion of games and generation of anonymous relayIDs 2013-01-29 07:42:10 -08:00
Eric House
9ee16adc3a add support for udp-based delete and anonymous (relay-provided) regIDs 2013-01-29 07:38:07 -08:00
Eric House
72e100ccac use autoincrement primary key, same as on Android 2013-01-28 07:02:33 -08:00
Eric House
d78a4979da HACK: if gi's notion of gameID is out of sync, force it in (logging
the fact).  I'm not sure why but this is required sometimes on
Android.
2013-01-28 07:01:49 -08:00
Eric House
339ec66844 Merge remote-tracking branch 'origin/gtk_multigame' into gtk_multigame 2013-01-28 06:53:17 -08:00
Eric House
3e723c72c5 call comms_stop() before closing (removing from memory) a game. 2013-01-28 06:52:32 -08:00
Eric House
1546b15997 rowid needs to be autoincrement to be useful as a token with new relay
protocol.  And you can't make it autoincrement except when creating a
table.  So add new column set equal to current rowid, then create a
new table and copy the old data into it.
2013-01-28 06:51:39 -08:00
Eric House
d1621c8d4b track and log all packetIDs and acks, including number (but not type)
of unacked packets.
2013-01-27 21:29:36 -08:00
Eric House
4aee75aeab ack all packets from clients; log acks. This is for debugging and may
not need to stay.
2013-01-27 21:26:27 -08:00
Eric House
302ac9d55c script to list who's attached to the db 2013-01-27 08:30:02 -08:00
Eric House
82dc986c79 remove bad asserts and unused variable 2013-01-26 21:49:17 -08:00
Eric House
cc69901632 reset to null in loop in case exit due to exceeding retry count 2013-01-26 21:17:46 -08:00
Eric House
a9b459ea2e log rather than assert 2013-01-26 21:16:48 -08:00
Eric House
06bc80fcc9 let's make 1 the default number of threads 2013-01-26 20:59:27 -08:00
Eric House
cba04e4b95 Merge branch 'android_branch' into gtk_multigame
Conflicts:
	xwords4/relay/xwrelay.cpp
2013-01-26 20:20:54 -08:00
Eric House
3be45a67f7 fix erroneous asserts: it's uncommon but ok for a device to get
assigne a second connname.  (Cause: failure of relay to receive the
device's ACK.)
2013-01-26 18:56:53 -08:00
Eric House
2fdcea54f5 fix logging of sockets 2013-01-26 18:55:55 -08:00
Eric House
7ecf57c556 increase size of buffer for incoming proxy packets, since now that I
have 50+ saved network games requests for moves are that big.  (This
is a temporary fix.)
2013-01-26 18:48:57 -08:00
Eric House
4b335ab464 make function static 2013-01-26 18:36:40 -08:00
Eric House
b324a382e2 I've seen read() return 0 after being told there's something on the
socket.  So in that case loop and try again five time -- in case the
docs are wrong that 0 means EOF?  Hmmm.
2013-01-26 11:58:48 -08:00
Eric House
88b20769f9 increase buffer size 2013-01-26 11:56:29 -08:00
Eric House
2aba3c0ce1 load dict early enough to have lang available to comms when it first connects. 2013-01-26 11:56:20 -08:00
Eric House
336e3cd289 handle all three types of message in a single thread, punting all
synchronization issues to a future point where the load demands it.
2013-01-26 11:54:48 -08:00
Eric House
9e1d09648d fix log statement 2013-01-26 11:04:20 -08:00
Eric House
8cb0a8a7a7 fix crash on startup (as done already on gtk branch) 2013-01-26 09:23:44 -08:00
Eric House
7ee402d2ae move callback into queueelem so same queue can service udp and tcp (eventually) 2013-01-25 07:19:44 -08:00
Eric House
4417591b06 debug pref to disable GCM so new stuff can be tested on-device 2013-01-25 07:17:00 -08:00
Eric House
83441c65ef debug pref to disable GCM so new stuff can be tested on-device 2013-01-25 07:16:38 -08:00
Eric House
f91af77438 always try starting UDP threads in case Service has been stopped;
implement transportSend in RelayMsgSink since relay-connection packets
need it.
2013-01-25 06:22:37 -08:00
Eric House
c8b3050c8d fix duplicate key that was getting lots of extra games created 2013-01-25 06:20:32 -08:00
Eric House
23b7e5a2eb fix syntax error in query 2013-01-24 21:11:15 -08:00
Eric House
2e0ff09cf9 fix memory leak and uninstall idle proc on the way out 2013-01-24 21:10:41 -08:00
Eric House
af58e7c4e1 comment 2013-01-24 20:27:56 -08:00
Eric House
084643ca82 don't include dead-game messages when fetching for devices 2013-01-24 20:27:36 -08:00
Eric House
7253cfa313 assert that map.insert() is actually doing something in those cases
where I expect it to.
2013-01-24 19:34:20 -08:00
Eric House
036c908b72 remove token from XWPDEV_HAVEMSGS message 2013-01-24 19:33:33 -08:00
Eric House
5f2d628855 update protocol description 2013-01-24 19:33:02 -08:00
Eric House
55c117c9fc fix assert by nulling out variable 2013-01-24 19:25:32 -08:00
Eric House
481e50aaae don't bother pushing do-we-ack decision out of static method 2013-01-24 19:23:05 -08:00
Eric House
498498a2bf remove gameToken param from XWPDEV_HAVEMSGS message since it's for the
whole device rather than one game on it.
2013-01-24 19:20:35 -08:00
Eric House
0fad19e38a make it possible to mix udp and non-udp games (which currently crashes the relay very rarely) 2013-01-24 18:56:10 -08:00
Eric House
481f344ff4 fix failure to clean up on exit 2013-01-24 08:08:53 -08:00
Eric House
cbb82eb5e8 add --via-udp option -- which causes app to crash because the memory
leak detector is working
2013-01-24 08:00:53 -08:00
Eric House
9f3250cb3f make curses version use udp socket when --db param passed. There's no
UI for the DB and the assumption is only one game will be stored but
this should let the test script be modified to test the new protocol.
2013-01-24 07:49:49 -08:00
Eric House
c465a0bb0c add loop to print when packets haven't been ack'd 2013-01-24 07:43:24 -08:00
Eric House
da4d841220 use per-device UDP rather than per-board TCP to communicate with
relay, including latest UDP protocol and acking changes.  Basically
works (in emulator at least) but there are problems especially with
initial game creation.
2013-01-23 07:46:13 -08:00
Eric House
12f70154a0 changes for includes-messageID-please-ack protocol addition 2013-01-23 07:43:58 -08:00
Eric House
ce7cdab3f0 add msgid and acking to protocol -- maybe for debugging only. 2013-01-23 07:40:52 -08:00
Eric House
ff70e3fbc2 fix use of map.insert: check for existing key and overwrite value 2013-01-23 07:35:20 -08:00
Eric House
a3e4e31205 remove logging 2013-01-23 07:28:25 -08:00
Eric House
8c0984fb7a Merge remote-tracking branch 'origin/gtk_multigame' into gtk_multigame 2013-01-22 06:54:42 -08:00
Eric House
2d7977e4b5 fix test: unset TEXT column returns as "", not NULL. 2013-01-22 06:52:50 -08:00
Eric House
c839db4a25 disconnect from relay no matter what the state 2013-01-22 06:12:55 -08:00
Eric House
29acab1ef2 tweak display 2013-01-21 19:44:08 -08:00
Eric House
90b8f966f6 comment out unnecessary assert 2013-01-21 19:40:56 -08:00
Eric House
2744e8698c optionally (compile-time change for now) store message data as
b64-encoded TEXT instead of BYTEA, which on my laptop is getting
corrupted sometimes.
2013-01-21 19:40:20 -08:00
Eric House
d374d0f3d8 optionally (compile-time change for now) store message data as
b64-encoded TEXT instead of BYTEA, which on my laptop is getting
corrupted sometimes.
2013-01-21 19:39:57 -08:00
Eric House
ae9ec31863 don't call g_main_loop_quit() from inside signal handler: it doesn't
work on Ubuntu LTS at least.  Instead write to a "quit pipe" and exit
the loop from the pipe's reader back outside exception context.
2013-01-21 18:57:48 -08:00
Eric House
a6b3cb8cbe add new param JNIThread requires 2013-01-20 21:34:28 -08:00
Eric House
de7c29dcc7 add comms_stop() to jni and use it 2013-01-20 21:33:35 -08:00
Eric House
132a495c4f add explanatory comment 2013-01-20 21:32:19 -08:00
Eric House
991cc8f04c fail in main mode if udp socket not set 2013-01-20 21:03:43 -08:00
Eric House
e79b0bd3eb Merge branch 'gtk_multigame' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into gtk_multigame 2013-01-20 19:27:50 -08:00
Eric House
21570ec9b4 Merge remote-tracking branch 'origin/android_branch' into gtk_multigame 2013-01-20 19:27:25 -08:00
Eric House
3df0484e6a get maintenance mode message into an alert -- and create a new common
superclass for Service subclasses to reuse some code.
2013-01-20 16:07:38 -08:00
Eric House
fd2f4309f4 beginning of android changes to talk udp to the relay: sufficient to
get back (and log, not display) a message when the relay is in
maintenance mode.
2013-01-20 15:29:51 -08:00
Eric House
93ff4f4fcb handle the new length-plus-string format 2013-01-20 13:07:01 -08:00
Eric House
016b16a8b2 change relay alert message format to length-plus-string rather than
null-terminated for easier handling on the java end.
2013-01-20 13:06:34 -08:00
Eric House
3fc31a6fe1 new enum for alert 2013-01-20 10:04:24 -08:00
Eric House
9023440a88 reply with alert to any connection attempt when in maint mode 2013-01-20 10:03:20 -08:00
Eric House
f06d129c24 change env variable name; provided inital board size and dict choices 2013-01-20 09:53:26 -08:00
Eric House
b768d8fccc fall through to using hard-coded maxsocks value 2013-01-20 09:22:35 -08:00
Eric House
3dfb2e04e6 call comms_close in curses too to avoid new assert 2013-01-19 22:53:25 -08:00
Eric House
3313c776ab fix unregister sql error 2013-01-19 22:37:12 -08:00
Eric House
3bcf5d504b add a debug pref for turning on UDP-based networking (ignored so far) 2013-01-19 16:03:29 -08:00
Eric House
360602b3a0 fix compile failure: never meant to check this change in. 2013-01-19 16:02:58 -08:00
Eric House
6797e069bc Merge branch 'android_branch' into gtk_multigame 2013-01-19 15:56:16 -08:00
Eric House
54ad381749 Merge remote-tracking branch 'origin/android_branch' into android_branch 2013-01-19 15:54:40 -08:00
Eric House
0ef3549a4e handle (display) the relay's new error message 2013-01-19 15:18:36 -08:00
Eric House
65e9789c3f add mainentance mode, triggered by a commandline flag, that does
nothing but loop waiting for connections on the UDP socket and sending
them back the error message provided on the commandline.
2013-01-19 15:17:51 -08:00
Eric House
1bb9f9b1bf handle sending of messages generated by games opened only to receive
messages from relay.  And handle report that relayID is bad.
2013-01-19 14:37:49 -08:00
Eric House
63d3f70cdf more changes to storage and fetching of messages and to protocol so
presence of messages is reported on connect (as are bad relayIDs).
Now a game with a robot player in a "closed" game can continue.  Once
the next set of linux-side chances is committed.
2013-01-19 14:34:04 -08:00
Eric House
99307e45a0 queue incoming packets and process them in order in a separate thread 2013-01-18 19:56:21 -08:00
Eric House
1519a00004 toward being able to handle messages received for closed game.
Receipt seems to work but send in that state doesn't.
2013-01-18 07:49:00 -08:00
Eric House
c999bbae92 always test those last-minute pre-checkin cleanups 2013-01-18 07:22:56 -08:00
Eric House
3984d85795 oops -- prev checkin didn't compile 2013-01-18 07:12:26 -08:00
Eric House
1c5fef6a38 relay improvements for UDP connection: record addresses, prepare to
run in separate thread, etc.
2013-01-18 07:10:47 -08:00
Eric House
932778f700 stubbed-out thread manager for udp connection 2013-01-18 06:57:57 -08:00
Eric House
4163309dae Let's have just one set of signal handlers 2013-01-17 06:37:53 -08:00
Eric House
2f772c56b2 make gtk app a better test bed: add db and row to window titles,
implement delete button and multiple selections, etc.
2013-01-16 21:16:07 -08:00
Eric House
c33c50ee6b add deleteGame() 2013-01-16 21:11:35 -08:00
Eric House
a6784464ff first set of networking changes testing per-device communication with
relay on behalf of a number of games.  Works as long as all the games
are open.
2013-01-16 06:46:33 -08:00
Eric House
f6e7ece578 add comms_stop() and an assert to make sure it's called. Explicit
stop and a message to the relay when using a UDP socket makes up for
there being no notification of connection closing.
2013-01-16 06:31:09 -08:00
Eric House
a107365c88 change names of two types and variables of that type to make a common
pattern more sensible.  No code changes.
2013-01-15 19:04:20 -08:00
Eric House
7fec736947 add udp socket and protocol for use over it so that a device can
manage a single connection to the relay for all of its games.  Works
so far to the extent that the game's playable with all boards on the
same device (with checkins about to come) as long as all boards are
open.  (Client doesn't handle opening closed games yet.)
2013-01-15 18:41:17 -08:00
Eric House
5a51af489a Merge branch 'android_branch' into gtk_multigame 2013-01-13 10:41:14 -08:00
Eric House
dc0cfdf001 bug in recent changes: need to mark socket unused to avoid double removal 2013-01-13 10:37:47 -08:00
Eric House
98679c8363 cleanup: better encapsulation for AddrInfo 2013-01-13 10:14:06 -08:00
Eric House
c567647a8d get rid of mapping of socket->game_connection, which will not work
once UDP sockets and/or per-device (not per-game) connections come
along.  Lots of changes, most not involving code flow but a couple
that did.  So far two gtk games can connect and exchange moves.
Haven't tested reconnection or store-and-forward.
2013-01-12 16:09:24 -08:00
Eric House
33735ae7a5 Merge branch 'android_branch' into gtk_multigame 2013-01-11 20:48:44 -08:00
Eric House
b46df07237 Merge remote branch 'origin/android_branch' into android_branch 2013-01-11 20:48:04 -08:00
Eric House
6dcd7022d4 don't pass .css file in; it's ignored 2013-01-11 20:42:57 -08:00
Eric House
55514719be include thread ptr in hung threads logging; assert (restart) when hung for too long 2013-01-11 20:42:04 -08:00
Eric House
39d12d088a use usleep when waiting for cref to be available 2013-01-11 20:37:08 -08:00
Eric House
aed2b6135c Merge branch 'android_branch' into gtk_multigame 2013-01-10 21:10:48 -08:00
Eric House
2ccc297463 make number of sockets at which we assert/reboot configurable so tests
can be done with large numbers of clients.
2013-01-10 21:10:18 -08:00
Eric House
dddb135b9d add more columns, and update each time game is saved 2013-01-09 06:30:52 -08:00
Eric House
7437a71aa6 use string_printf 2013-01-09 06:29:12 -08:00
Eric House
fac3e6b678 fix gtk version to correctly implement util_setIsServer (which only
Android did so far) by calling server_initClientConnection().  Now
relay games work with both started as hosts.  (GTK UI prevents
starting one as a guest; cmdline is required for that, if it still
works.)
2013-01-08 07:28:30 -08:00
Eric House
5e2bfd20da add a checkbox -- which apparently won't interact until I "implement
the 'activate' virtual method".
2013-01-08 06:32:43 -08:00
Eric House
1cb959c86d type tree model column correctly 2013-01-07 20:51:59 -08:00
Eric House
76f3bb3413 fix curses version so discon_ok2 tests work again. 2013-01-07 20:40:46 -08:00
Eric House
565b742971 snapshot -- connects to relay but doesn't play yet. 2013-01-07 08:00:47 -08:00
Eric House
469e656464 track open games so don't double-open and can close all on quit 2013-01-07 06:36:34 -08:00
Eric House
f88387da80 lots of changes to separate game data from app data so several games
can be open at once.  (curses version is almost certainly broken)
2013-01-07 06:10:44 -08:00
Eric House
b61ed7b631 opening saved games and saving of changes now work. 2013-01-05 21:01:26 -08:00
Eric House
a8014a855b now games are displayed in lists. Next: open them. 2013-01-05 19:40:29 -08:00
Eric House
8238d45350 ignore the db 2013-01-05 19:37:05 -08:00
Eric House
e0dc83ed70 rest of what I just meant to commit. 2013-01-05 16:08:47 -08:00
Eric House
4af30c534c snapshot. New game button works and game gets saved in DB. Next: display and open from DB. 2013-01-05 16:08:19 -08:00
Eric House
63487dc5d0 assert gdk setup going ok 2013-01-03 08:18:35 -08:00