pub const STX_SIZE: usize = 1;
pub const STX_OFFSET: usize = 0;
pub const MAX_PAYLOAD_LEN: usize = 255;
pub const PAYLOAD_LEN_OFFSET: usize = 1;
pub const CHECKSUM_SIZE: usize = 2;
pub const MAX_FRAME_SIZE: usize = v2::FRAME_SIZE;
pub const DEFAULT_READ_BUFFER_CAPACITY: usize = 16 * 1024;
pub mod v1 {
pub const HEADER_SIZE: usize = 5;
pub const FRAME_SIZE: usize =
super::STX_SIZE + HEADER_SIZE + super::MAX_PAYLOAD_LEN + super::CHECKSUM_SIZE;
}
pub mod v2 {
pub const HEADER_SIZE: usize = 9;
pub const INCOMPAT_FLAGS_OFFSET: usize = 2;
pub const IFLAG_SIGNED: u8 = 0x01;
pub const SUPPORTED_IFLAGS: u8 = IFLAG_SIGNED;
pub const SIGNATURE_LINK_ID_SIZE: usize = 1;
pub const SIGNATURE_TIMESTAMP_SIZE: usize = 6;
pub const SIGNATURE_VALUE_SIZE: usize = 6;
pub const SIGNATURE_SIZE: usize =
SIGNATURE_LINK_ID_SIZE + SIGNATURE_TIMESTAMP_SIZE + SIGNATURE_VALUE_SIZE;
pub const FRAME_SIZE: usize = super::STX_SIZE
+ HEADER_SIZE
+ super::MAX_PAYLOAD_LEN
+ super::CHECKSUM_SIZE
+ SIGNATURE_SIZE;
}