Closed crotwell closed 9 months ago
If mixing sequence numbers with wildcards is not supported by the server, then the client must not use wildcards with stations that are resumed. For example, assuming that the client opened initial connection as shown above and received data from IU_BILL (last seq 254483417) and IU_JOHN (last seq 3929540), they can resume connection with:
STATION IU_BILL SELECT *_B_H_? DATA 254483418 STATION IU_JOHN SELECT *_B_H_? DATA 3929541 STATION IU_* SELECT *_B_H_? DATA END
Note that according to spec, Stations that already matched a previous STATION command are excluded, so “STATION IU_*” does not apply to IU_BILL and IU_JOHN, which were matched earlier.
Add comments to “Example handshaking”.
+1 on change
The spec should document steps needed for a client to resume streaming after a broken connection without duplicate packets or missing packets.
Good to document resume for both a simple case, say single station with no wildcards and for the more complex case where wildcards are used and so there is the potential of new stations coming online after the resume. Example:
then there is a break in the connection. The client wishes to resume all existing stations for which it has seen data (ie it has a last seq num) but also wants to allow for data from IU stations for which it has not yet received a packet.