#[derive(Clone, Copy, Eq, PartialEq, Debug)]
pub(crate) enum RxOps {
Request = 0,
Rw = 1,
Response = 2,
CreditUpdate = 3,
Reset = 4,
}
impl RxOps {
pub fn bitmask(self) -> u8 {
1u8 << (self as u8)
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_bitmask() {
assert_eq!(1, RxOps::Request.bitmask());
assert_eq!(2, RxOps::Rw.bitmask());
assert_eq!(4, RxOps::Response.bitmask());
assert_eq!(8, RxOps::CreditUpdate.bitmask());
assert_eq!(16, RxOps::Reset.bitmask());
}
}