This commit is contained in:
mikecarper
2026-09-15 20:14:02 +00:00
parent 289ad1f794
commit d64f026ed3
2 changed files with 16 additions and 1 deletions
+15
View File
@@ -3535,6 +3535,21 @@ observations such as adverts remain broadcast so passive clients can refresh
their views. Companion session state is device-wide, so use one active
Companion application at a time. On nRF52, BLE remains available while USB is
in terminal or mOTA mode.</p>
<p>On WiFi TCP port 5000, reconnecting from the same IP retains queued outgoing
frames. A different IP takes over immediately, but never receives the previous
IP's replies: up to four queued frames are parked separately for 30 seconds
from takeover. The old IP can reconnect within that window to retrieve them.
Only one displaced IP's backlog is retained; if another client also needs that
slot, the older backlog is discarded so the new connection is not delayed.
This reuses an existing fixed buffer instead of allocating additional frame
storage. Pending commands, signing sessions, and contact streams belonging to
the displaced WiFi session are canceled immediately; already accepted radio
message transmissions are not canceled. Queued frames are retained, not a
resumable command session, and IP matching is not authentication. Turning WiFi
off clears both queues. Stored message history is unaffected.</p>
<p>Partial TCP writes retain the unsent bytes without interleaving later frames.
After a reconnect, an incomplete frame restarts from its header; the new TCP
connection must not receive only the old connection's trailing bytes.</p>
<p>USB Binary output is queued as complete length-prefixed frames. Temporary CDC
or UART backpressure pauses the contact stream; a frame may drain through a
smaller hardware FIFO in ordered chunks, but its remainder is retained and no
File diff suppressed because one or more lines are too long