pub const RESERVED: u8 = 0x00;
pub const TIMESERIES: u8 = 0x01;
pub const VECTOR: u8 = 0x02;
pub const LOG: u8 = 0x03;
pub const KEYVALUE: u8 = 0x04;
pub fn name(byte: u8) -> Option<&'static str> {
match byte {
TIMESERIES => Some("timeseries"),
VECTOR => Some("vector"),
LOG => Some("log"),
KEYVALUE => Some("keyvalue"),
_ => None,
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn should_resolve_known_subsystems_by_byte() {
assert_eq!(name(TIMESERIES), Some("timeseries"));
assert_eq!(name(VECTOR), Some("vector"));
assert_eq!(name(LOG), Some("log"));
assert_eq!(name(KEYVALUE), Some("keyvalue"));
}
#[test]
fn should_return_none_for_reserved_and_unassigned_bytes() {
assert_eq!(name(RESERVED), None);
assert_eq!(name(0x42), None);
assert_eq!(name(0xFF), None);
}
}