#[derive(Clone, Debug, PartialEq, Eq, thiserror::Error)]
#[non_exhaustive]
pub enum DecodeError {
#[error("unexpected end of buffer")]
UnexpectedEof,
#[error("varint exceeded maximum length of 10 bytes")]
VarintTooLong,
#[error("invalid wire type: {0}")]
InvalidWireType(u32),
#[error("invalid field number")]
InvalidFieldNumber,
#[error("message length exceeds configured size limit")]
MessageTooLarge,
#[error("wire type mismatch on field {field_number}: expected {expected}, got {actual}")]
WireTypeMismatch {
field_number: u32,
expected: u8,
actual: u8,
},
#[error("invalid UTF-8 in string field")]
InvalidUtf8,
#[error("recursion limit exceeded")]
RecursionLimitExceeded,
#[error("invalid end-group tag: field number {0}")]
InvalidEndGroup(u32),
}
#[derive(Clone, Debug, PartialEq, Eq, thiserror::Error)]
#[non_exhaustive]
pub enum EncodeError {}