#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum PacketType {
Data,
Ack,
}
impl PacketType {
pub const DATA_CODE: u8 = 0x00;
pub const ACK_CODE: u8 = 0x01;
#[must_use]
pub const fn code(self) -> u8 {
match self {
Self::Data => Self::DATA_CODE,
Self::Ack => Self::ACK_CODE,
}
}
#[must_use]
pub const fn from_code(code: u8) -> Option<Self> {
match code {
Self::DATA_CODE => Some(Self::Data),
Self::ACK_CODE => Some(Self::Ack),
_ => None,
}
}
}