moqtap_codec/draft07/
types.rs1#[derive(Debug, Clone, Copy, PartialEq, Eq)]
3#[repr(u8)]
4pub enum Role {
5 Publisher = 1,
7 Subscriber = 2,
9 PubSub = 3,
11}
12
13impl Role {
14 pub fn from_u8(v: u8) -> Option<Self> {
16 match v {
17 1 => Some(Role::Publisher),
18 2 => Some(Role::Subscriber),
19 3 => Some(Role::PubSub),
20 _ => None,
21 }
22 }
23}
24
25#[derive(Debug, Clone, Copy, PartialEq, Eq)]
27#[repr(u8)]
28pub enum ObjectStatus {
29 Normal = 0,
31 ObjectDoesNotExist = 1,
33 GroupDoesNotExist = 2,
35 EndOfGroup = 3,
37 EndOfTrack = 4,
39 EndOfSubgroup = 5,
41}
42
43impl ObjectStatus {
44 pub fn from_u64(v: u64) -> Option<Self> {
46 match v {
47 0 => Some(ObjectStatus::Normal),
48 1 => Some(ObjectStatus::ObjectDoesNotExist),
49 2 => Some(ObjectStatus::GroupDoesNotExist),
50 3 => Some(ObjectStatus::EndOfGroup),
51 4 => Some(ObjectStatus::EndOfTrack),
52 5 => Some(ObjectStatus::EndOfSubgroup),
53 _ => None,
54 }
55 }
56}