#[non_exhaustive]pub enum Error {
UnexpectedEof,
BufferFull,
VarintOverflow,
FrameTooLarge {
len: usize,
limit: usize,
},
InvalidLengthPrefix,
DelimiterNotFound,
InvalidEncoding,
BitOverflow,
EmptyDelimiter,
}Expand description
Errors returned by codec and framing operations.
§Example
use wire_codec::{Error, ReadBuf};
let mut buf = ReadBuf::new(&[0x01]);
// Only one byte available but we ask for two.
let result = buf.read_u16_be();
assert!(matches!(result, Err(Error::UnexpectedEof)));Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UnexpectedEof
Reader ran out of bytes before the requested value could be decoded.
BufferFull
Writer ran out of capacity before the requested value could be encoded.
VarintOverflow
A varint exceeded the maximum encoded length for its target width.
FrameTooLarge
A frame’s declared length exceeds the configured limit for the framer.
Fields
InvalidLengthPrefix
A length prefix was structurally invalid (e.g. width zero, or a width larger than the codec supports).
DelimiterNotFound
A delimiter byte sequence was not found within the available input.
InvalidEncoding
Decoded data violated a structural invariant required by the codec.
BitOverflow
A bit-level write requested more bits than the target type can hold, or a value did not fit in the requested bit width.
EmptyDelimiter
A delimited-framer constructor was given an empty delimiter, which cannot uniquely separate frames.
Trait Implementations§
Source§impl Error for Error
Available on crate feature std only.
impl Error for Error
std only.1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()