#[repr(u8)]pub enum ObjectStatus {
Normal = 0,
EndOfGroup = 3,
EndOfTrack = 4,
}Expand description
Object status values, from MoQ Transport draft-17 Section 10.2.1.1 “Object Status”.
The draft assigns 0x0, 0x3 and 0x4. Of every other value the section says:
“Any other value SHOULD be treated as a protocol error and the session
SHOULD be closed with a PROTOCOL_VIOLATION”. ObjectStatus::from_u64
answers None for everything the draft leaves unassigned, 0x1 and 0x2
included.
Variants§
Normal = 0
Normal object. Implicit for any non-zero length object; zero-length objects encode it explicitly.
EndOfGroup = 3
End of Group. No object with the given Group ID and an Object ID greater than or equal to the one specified exists in that group.
EndOfTrack = 4
End of Track. No object at a location equal to or greater than the one specified exists.
Implementations§
Source§impl ObjectStatus
impl ObjectStatus
Sourcepub const ALL: &[ObjectStatus]
pub const ALL: &[ObjectStatus]
Every status draft-17 assigns, in ascending wire order.
This is exactly the set ObjectStatus::from_u64 accepts. Any other
value is one the draft does not assign.
Sourcepub fn from_u64(v: u64) -> Option<Self>
pub fn from_u64(v: u64) -> Option<Self>
Convert a raw u64 to an ObjectStatus, or None if draft-17 does not
assign that value.
Sourcepub fn as_u8(self) -> u8
pub fn as_u8(self) -> u8
Return the wire value as a single byte.
A draft-17 status datagram carries its status as one bare byte rather
than a varint, so the datagram encoder needs the code in that width;
every assigned code is well under 0xff, so this is the same number
ObjectStatus::as_u64 returns.
Trait Implementations§
Source§impl Clone for ObjectStatus
impl Clone for ObjectStatus
Source§fn clone(&self) -> ObjectStatus
fn clone(&self) -> ObjectStatus
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more