pub enum DecodeError {
Io(Error),
Protocol(Box<str>),
}Expand description
Error from incremental decoding — a genuine protocol violation or an I/O
failure, never a short read (that is DecodeStep::Pending).
WHY: Separating “need more bytes” from “the wire is malformed” is what lets one decoder resume across non-blocking reads without spurious errors.
WHAT: An I/O error surfaced from the source, or a protocol-level violation the decoder detected.
HOW: derive_more supplies Display/From; Io converts from io::Error.
Variants§
Io(Error)
The underlying source returned an I/O error (not WouldBlock).
Protocol(Box<str>)
The bytes on the wire violate the frame format.
Implementations§
Source§impl DecodeError
impl DecodeError
Trait Implementations§
Source§impl Debug for DecodeError
impl Debug for DecodeError
Source§impl Display for DecodeError
impl Display for DecodeError
Source§impl Error for DecodeError
impl Error for DecodeError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Auto Trait Implementations§
impl !RefUnwindSafe for DecodeError
impl !UnwindSafe for DecodeError
impl Freeze for DecodeError
impl Send for DecodeError
impl Sync for DecodeError
impl Unpin for DecodeError
impl UnsafeUnpin for DecodeError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more