Eric House
1a8f91203e
Send MQTT messages in batches
...
Resend sends all types in batches. Send of new messages goes back for
MQTT only and sends the whole un-ack'd queue.
2023-03-25 10:24:39 -07:00
Eric House
7b2c327ba8
change send method to take list instead of array
2023-03-25 10:24:39 -07:00
Eric House
22d0d50130
add a public part of MsgQueueElem to simplify passing outside
2023-03-25 10:24:39 -07:00
Eric House
6ec0e64657
toward changing APIs to allow combined messages for mqtt
2023-03-25 10:24:39 -07:00
Eric House
b811653c89
remove ifdef-d out code storing all messages in one queue
2023-03-25 10:24:39 -07:00
Eric House
7929ddea47
cleanup comms
2023-03-25 10:24:39 -07:00
Eric House
daac5ca098
store messages in channel rather than a single queue
...
Moving toward being able to send in groups per device for MQTT
optimization
2023-03-16 07:44:14 -07:00
Eric House
b27384df63
print caller in logging func
2023-03-16 07:44:14 -07:00
Eric House
e849d628d9
log when messages could be combined
2023-03-16 07:43:51 -07:00
Eric House
bb2a2dacae
cleanup
2023-03-08 20:48:55 -08:00
Eric House
073271fe61
tweak test script to better test rematching
2023-03-08 20:48:55 -08:00
Eric House
a0f5e2d5d4
remove dead code
2023-02-23 10:55:05 -08:00
Eric House
5382941f63
snapshot: play via MQTT works for a while
2023-02-22 19:52:45 -08:00
Eric House
9ca291cf0d
enable rematch for 3- and 4-device games
...
Because only the host/inviter knows the addresses of all the devices
in a game it's hard for guests to rematch (unless it's a 2-device
game, as they know the host's address.) So now, as part of telling
guests the game is ready to play, include the addresses of other
guests. It's usually only 9 bytes per device, and only happens when
more than two devices are in a game.
2023-02-16 21:36:46 -08:00
Eric House
ee859a6c6a
cleanup: remove dead code
2023-02-15 08:31:51 -08:00
Eric House
34ba254e64
cleanup
2023-02-11 07:50:53 -08:00
Eric House
0e14783d3b
use negotiated streamVersion to decide what to send via MQTT
...
No point in sending the old-topic-format MQTT messages to clients that
know about the new one, and in fact it's harmful. Devices in a game
already agree on the stream version to use and communicate it, so pass
that into comms once it's known and from there on to the device code
that builds mqtt messages.
2023-02-09 16:53:18 -08:00
Eric House
646e806ae4
get rid of stream_open(), which was a NO-OP
2023-02-04 07:44:57 -08:00
Eric House
4a57b76817
cleanup: pass xwe with closeProc rather than to destroy
...
It's only needed when there's a close proc, and that's rare.
2023-02-03 22:00:47 -08:00
Eric House
e79450ab4c
refactor message queue access
...
Cleanup to reduce changes when queue storage changes, which is coming
to optimize mqtt sends.
2023-02-03 10:18:54 -08:00
Eric House
c820abb514
remove unused params
2023-02-03 10:18:54 -08:00
Eric House
fcff8dab35
send from inside comms_invite on Linux but not Android
...
This is probably a temporary fix for Linux not being aggressive enough
about calling comms_resendAll() when opening a game. For now, though,
test scripts fail without it.
2023-01-30 12:02:46 -08:00
Eric House
18973675d0
don't send invite from inside comms_invite()
2023-01-27 21:07:39 -08:00
Eric House
6bb14548c9
fix TransportSendInvt to include type
...
In failing to pass the type into TransportSendInvt I was forcing
implementations to send to all types, which led to a lot of duplicate
invitations.
2023-01-24 17:11:05 -08:00
Eric House
ffe571664c
remove asserts flagging problems I can't fix yet
2023-01-24 11:38:11 -08:00
Eric House
7fdf43eba6
add logging
2023-01-23 22:08:50 -08:00
Eric House
873501f8da
changes for better testing invites and sms
2023-01-17 18:01:30 -08:00
Eric House
f1262e49e7
remove unused util method
2023-01-16 10:10:01 -08:00
Eric House
c620f9bc75
Don't allow comms types that aren't in selfAddress
...
(Likely crashes on android)
2023-01-15 16:18:26 -08:00
Eric House
a02ea95600
remove dead code: game_reset and friends
2023-01-11 12:28:09 -08:00
Eric House
a5b0f3dd20
add debug-only code to check for thread-safety
2023-01-06 07:53:10 -08:00
Eric House
4caf660c1c
cleanup
2023-01-04 14:13:53 -08:00
Eric House
16ced1dd49
fix linux compile; log gameID as %X everywhere
2022-12-30 16:15:03 -08:00
Eric House
550248bce0
fix assertions from missing timestamps
2022-12-29 22:39:26 -08:00
Eric House
fdbd404f37
cleanup
2022-12-27 17:38:20 -08:00
Eric House
6648a25dd0
tweak logging
2022-12-26 19:24:39 -08:00
Eric House
5fe02a0888
set initial flags to reflect new version for invites
...
Creating an address record without having heard from the remote is
new, and setting it to an old version was preventing using new msg
format. So set to new by default. Not sure how it'll get downgraded
facing an old client, but a 100-game upgrade test passes.....
2022-12-21 16:11:55 -08:00
Eric House
5887140d9b
use hex for gameID in games list; fix compile error
2022-12-21 10:38:31 -08:00
Eric House
9b1fe83b61
fix to compile without DEBUG set
2022-12-21 10:29:48 -08:00
Eric House
7764c17705
resend all even if some unsendable
...
Looks like invitations become unsendable before they're deleted
sometimes and so block sending real messages. This fixes device
accepting invitation but never hearing back from host.
2022-12-21 10:21:41 -08:00
Eric House
b179a0bade
remove dead code
2022-12-18 18:50:05 -08:00
Eric House
53e1a68d6d
track, and offer to display, comms-sent invites like others
...
I'm only keeping the most recent since they're sent every time a game
opens, app launches, etc.
2022-12-10 22:17:14 -08:00
Eric House
0141f110be
fix to compile without DEBUG set
2022-11-18 11:09:22 -08:00
Eric House
92b02fccb7
cleanup
2022-11-18 11:09:22 -08:00
Eric House
86303475af
fix assertion firing when relay address still present
2022-11-18 11:09:22 -08:00
Eric House
f2b034d710
recognize in-comms invites when opening incomplete game
...
Android offers to invite when it thinks no invitations have been
sent. Now it knows about those buried in comms.
2022-11-18 11:09:22 -08:00
Eric House
6f57665da2
pass number of pending comms invites into informMissing()
2022-11-18 11:09:22 -08:00
Eric House
924695d3fb
add new stream version that skips relay and allows longer string
...
And remove some dead code
2022-11-18 11:09:22 -08:00
Eric House
be9d80533e
cleanup and add helper functions
...
Looking toward a time when channelNo's high-order bits ensuring the
right device is receiving messages go away.
2022-11-18 11:09:22 -08:00
Eric House
e960877256
more
2022-11-18 11:09:22 -08:00