use crate::core::message::{FRAGMENT_OFFSET_LEN, MESSAGE_ID_LEN, MESSAGE_LEN_LEN};
pub(crate) const PACKET_TYPE_LEN: usize = core::mem::size_of::<u8>();
pub(crate) const PACKET_FLAGS_LEN: usize = core::mem::size_of::<u8>();
pub(crate) const PACKET_INDEX_LEN: usize = core::mem::size_of::<u16>();
pub const DATA_PACKET_HEADER_LEN: usize = PACKET_TYPE_LEN
+ PACKET_FLAGS_LEN
+ MESSAGE_ID_LEN
+ PACKET_INDEX_LEN
+ MESSAGE_LEN_LEN
+ FRAGMENT_OFFSET_LEN;
pub const LOG_PACKET_HEADER_LEN: usize =
PACKET_TYPE_LEN + MESSAGE_ID_LEN + PACKET_INDEX_LEN + MESSAGE_LEN_LEN + FRAGMENT_OFFSET_LEN;
pub const ACK_PACKET_HEADER_LEN: usize = PACKET_TYPE_LEN + MESSAGE_ID_LEN + PACKET_INDEX_LEN;
pub const LIVENESS_PACKET_HEADER_LEN: usize = PACKET_TYPE_LEN;
#[cfg(test)]
mod tests {
use super::{
ACK_PACKET_HEADER_LEN, DATA_PACKET_HEADER_LEN, LIVENESS_PACKET_HEADER_LEN,
LOG_PACKET_HEADER_LEN,
};
#[test]
fn target_header_lengths_match_wire_plan() {
assert_eq!(DATA_PACKET_HEADER_LEN, 12);
assert_eq!(LOG_PACKET_HEADER_LEN, 11);
assert_eq!(ACK_PACKET_HEADER_LEN, 7);
assert_eq!(LIVENESS_PACKET_HEADER_LEN, 1);
}
}