use crate::encoding;
#[derive(Clone, Debug, Eq, PartialEq)]
#[non_exhaustive]
pub enum DecodeError {
InvalidVarint,
VarintTooLarge(u64),
BufferUnderflow,
UnexpectedEndGroupTag,
InvalidWireTypeValue(u64),
UnexpectedWireTypeValue {
actual: encoding::WireType,
expected: encoding::WireType,
},
UnexpectedTagValue(u32),
InvalidKeyValue(u64),
InvalidTagValue(u32),
InvalidUtf8(core::str::Utf8Error),
}
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub struct EncodeError {
pub required: usize,
pub remaining: usize,
}
impl EncodeError {
pub fn new(required: usize, remaining: usize) -> Self {
Self {
required,
remaining,
}
}
}