pub struct FetchObjectLocation {
pub group_id: u64,
pub subgroup_id: Option<u64>,
pub object_id: u64,
pub publisher_priority: Option<u8>,
pub end_of_range: Option<FetchEndOfRange>,
}Expand description
One fetch object’s Location and priority, with every field the flags left off the wire filled in from the Object before it.
Fields§
§group_id: u64Resolved absolute Group ID.
subgroup_id: Option<u64>Resolved absolute Subgroup ID, and None for an Object whose Forwarding
Preference is Datagram — draft-16 Section 10.2.1 omits the Subgroup ID
for those, and Section 10.4.4.1 marks them with bit 0x40.
object_id: u64Resolved absolute Object ID.
publisher_priority: Option<u8>Publisher Priority, and None when no Object on the stream so far has
stated one.
That happens only after a FetchEndOfRange marker, which carries no
Priority of its own and leaves the running value alone; any other first
Object with no Priority is refused by FetchObjectReader::resolve.
Draft-16 Section 11.1.1.1 supplies the fallback for the gap — a
subscription has Publisher Priority 128 when DEFAULT PUBLISHER PRIORITY
is omitted — and it is left to the caller rather than substituted here,
so that the stream never said stays distinguishable from “the stream
said 128”.
end_of_range: Option<FetchEndOfRange>The Table 4 marker this Object is, or None for an ordinary Object.
When set, this Location is the far end of a span: Section 10.4.4.2 reads every Location between the previously serialized Object, if any, and this one — inclusive — as non-existent or unknown.
Trait Implementations§
Source§impl Clone for FetchObjectLocation
impl Clone for FetchObjectLocation
Source§fn clone(&self) -> FetchObjectLocation
fn clone(&self) -> FetchObjectLocation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more