FDSN / SeedLink

https://docs.fdsn.org/projects/seedlink/
Creative Commons Zero v1.0 Universal
1 stars 1 forks source link

Document steps for reconnection #18

Closed crotwell closed 9 months ago

crotwell commented 1 year ago

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:

STATION IU *
SELECT *_B_H_?
DATA
END

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.

andres-h commented 1 year ago

Feedback from proposal team

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.

Change of specification

Add comments to “Example handshaking”.

crotwell commented 10 months ago

+1 on change