#[derive(Debug, PartialEq, Clone, Copy)]
#[repr(u8)]
pub enum Kcp2KHeaderReliable {
Hello = 1,
Ping = 2,
Data = 3,
}
#[derive(Debug, PartialEq, Clone, Copy)]
#[repr(u8)]
pub enum Kcp2KHeaderUnreliable {
Data = 4,
Disconnect = 5,
Ping = 6,
}
impl Kcp2KHeaderReliable {
pub fn parse(value: u8) -> Option<Self> {
match value {
1 => Some(Self::Hello),
2 => Some(Self::Ping),
3 => Some(Self::Data),
_ => None,
}
}
pub fn to_u8(&self) -> u8 {
*self as u8
}
}
impl Kcp2KHeaderUnreliable {
pub fn parse(value: u8) -> Option<Self> {
match value {
4 => Some(Self::Data),
5 => Some(Self::Disconnect),
6 => Some(Self::Ping),
_ => None,
}
}
pub fn to_u8(&self) -> u8 {
*self as u8
}
}