use core::error::Error;
use core::fmt;
#[derive(Debug)]
pub enum DecodeError {
DataTruncated { index: usize },
ControlStreamTooShort { need: usize, have: usize },
UnsupportedVersion { version: u8 },
}
impl fmt::Display for DecodeError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Self::DataTruncated { index } => {
write!(f, "data truncated: expected more bytes at value {index}")
}
Self::ControlStreamTooShort { need, have } => write!(
f,
"control stream shorter than expected: need {need} bytes, have {have}"
),
Self::UnsupportedVersion { version } => {
write!(f, "unsupported format version: {version}")
}
}
}
}
impl Error for DecodeError {}