#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(u8)]
pub enum Role {
Publisher = 1,
Subscriber = 2,
PubSub = 3,
}
impl Role {
pub fn from_u8(v: u8) -> Option<Self> {
match v {
1 => Some(Role::Publisher),
2 => Some(Role::Subscriber),
3 => Some(Role::PubSub),
_ => None,
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(u8)]
pub enum ObjectStatus {
Normal = 0,
ObjectDoesNotExist = 1,
GroupDoesNotExist = 2,
EndOfGroup = 3,
EndOfTrack = 4,
EndOfSubgroup = 5,
}
impl ObjectStatus {
pub fn from_u64(v: u64) -> Option<Self> {
match v {
0 => Some(ObjectStatus::Normal),
1 => Some(ObjectStatus::ObjectDoesNotExist),
2 => Some(ObjectStatus::GroupDoesNotExist),
3 => Some(ObjectStatus::EndOfGroup),
4 => Some(ObjectStatus::EndOfTrack),
5 => Some(ObjectStatus::EndOfSubgroup),
_ => None,
}
}
}