pub enum FetchEndOfRange {
NonExistent,
Unknown,
TimedOut,
}Expand description
What an End of Range indicator on a fetch stream asserts about the Locations it covers, from draft-20 Section 11.4.4.2.
All three say that every Object with a Location between the previous serialized Object and this one, inclusive, was not serialized. They differ in why, and the three between them partition non-delivery: the publisher knows the Objects are not there, it does not know either way, or it gave up waiting. A subscriber can cache the first as a definitive gap and must not cache the other two, so they cannot be collapsed.
Variants§
NonExistent
Serialization Flags 0x8C. The Objects in the range do not exist.
Section 11.4.4.2: “A publisher SHOULD NOT use End of Non-Existent Range in a FETCH response except to split a range of Objects that will not be serialized into those that are known not to exist and those with unknown or timed out status.” Draft-19’s wording of the same sentence did not have the “or timed out” half, because it had no marker for it.
Unknown
Serialization Flags 0x10C. The Objects in the range have unknown status.
TimedOut
Serialization Flags 0x20C. The Objects in the range timed out: the relay
abandoned them because its FILL_TIMEOUT budget (Section 10.2.5) ran
out. New in draft-20.
This is where a fill timeout’s output goes, and it is a behavioural
change as much as a new value: draft-19 classified the same Objects as
Unknown gaps, so a draft-19 receiver and a draft-20 receiver reading the
same relay see different markers for the same event. FILL_TIMEOUT = 0
means the subscriber wants only immediately-available Objects and the
relay MUST report everything else this way; with the parameter absent,
the relay waits an implementation-specific duration first.
Trait Implementations§
Source§impl Clone for FetchEndOfRange
impl Clone for FetchEndOfRange
Source§fn clone(&self) -> FetchEndOfRange
fn clone(&self) -> FetchEndOfRange
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more