#[derive(Debug, Clone, PartialEq, Eq)]
#[non_exhaustive]
pub enum WireError {
Truncated,
UnknownKind(u8),
InvalidPayload(&'static str),
}
impl std::fmt::Display for WireError {
#[cold]
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
WireError::Truncated => f.write_str("wire frame truncated"),
WireError::UnknownKind(byte) => write!(f, "wire unknown kind: 0x{byte:02x}"),
WireError::InvalidPayload(reason) => write!(f, "wire invalid payload: {reason}"),
}
}
}
impl std::error::Error for WireError {}