FDSN / SeedLink

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

global vs per station sequence numbers #24

Closed crotwell closed 9 months ago

crotwell commented 1 year ago

Some servers use per station sequence numbers, but others (ringserver) use a global sequence number for all. It would be helpful if clients could determine this via the protocol so they know if they need to keep track of a single sequence number for all stations, or a map of station to sequence number individually.

Not sure if this fits better into capabilities or as part of an INFO command.

Also see #19 if implemented, using a similar discovery mechanism to timeout would be good.

chad-earthscope commented 1 year ago

The protocol is clear that the sequence numbers should be considered per-station. In my opinion, it is an implementation detail that server implementations, like ringserver, use a global sequence space. The sole effect between these server-specific schemes, that I'm aware of, is that clients cannot assume that the per-station sequence numbers are monotonically increasing if all streams of the station are selected.

Edit: [Speaking for myself and not on behalf of the proposal team] In my opinion, making the client interaction more complicated with two different modes of resuming is not worth it.

crotwell commented 1 year ago

So my concern is resuming when the original request included wildcards. If there are no STATION wildcards, then I agree with you.

But if there are wildcards, then this seems a correct way to resume if sequence space is global, but probably should be an error if the sequence is per station, as it makes no sense to start at the same sequence number for multiple stations when they have no relation. Of course the client has to somehow know the difference.

STATION GE_*
SELECT *_H_H_Z
DATA 12345

If the intention is that a client should never assume global sequence numbers and always resume via the per station sequence number scheme, as in #18, then perhaps document that it is an error to use DATA seq if the preceding STATION command used wildcards?

andres-h commented 11 months ago

Feedback from proposal team

1) Add a clear statement that servers may not support resuming selections containing wildcards. 2) Add a capability flag that indicates if resuming from wildcards is supported by the server.

crotwell commented 10 months ago

+1 on change