Description
During the interim last week, there seemed to be consensus that SUBSCRIBE's default behavior is a high-fidelity mode (eg all new objects will get to all subscribers, with the exception of DATAGRAM tracks). Based on the FETCH discussion - the status of a cache on any relay in the chain has no impact on new object fidelity. The only parameter that can affect this is the subscriber's DELIVERY_TIMEOUT
, which opt-in.
The only other issue to address is #462 - a subscriber falls too far behind live head to sustain the subscription based on sender resource constraints. I recommend we add an error code to SUBSCRIBE_DONE
such as TOO_FAR_BEHIND
, include the final queued object ID, and remove the subscriber from the forwarding table so no new data is queued for them. When those objects are delivered, the subscriber can FETCH later objects and/or resubscribe as needed.