#[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)]
pub enum DecodeError {
#[error("[{pos:#04x}]: Stream is exhausted")]
Exhausted { pos: usize },
#[error("[{pos:#04x}]: {cause}")]
Other { pos: usize, cause: String },
}
#[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)]
pub enum EncodeError {
#[error("Length {len} cannot fit in prefix of size {prefix_size} bytes")]
LengthExceedsPrefix { prefix_size: u8, len: usize },
#[error("{cause}")]
Other { cause: String },
}