#[non_exhaustive]pub enum ProtocolError {
Io(Error),
Json(Error),
FrameTooLarge {
len: u32,
max: u32,
},
VersionMismatch {
expected: u16,
actual: u16,
},
}Expand description
Failure modes the codec can produce while reading or writing a frame.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Io(Error)
Underlying I/O failure (pipe closed, partial read, etc.).
Json(Error)
JSON serialisation or deserialisation failure.
FrameTooLarge
A frame body exceeded MAX_FRAME_BYTES.
VersionMismatch
Peer’s frame version did not match this binary’s PROTOCOL_VERSION.
Implementations§
Trait Implementations§
Source§impl Debug for ProtocolError
impl Debug for ProtocolError
Source§impl Display for ProtocolError
impl Display for ProtocolError
Source§impl Error for ProtocolError
impl Error for ProtocolError
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()
Source§impl From<Error> for ProtocolError
impl From<Error> for ProtocolError
Auto Trait Implementations§
impl Freeze for ProtocolError
impl !RefUnwindSafe for ProtocolError
impl Send for ProtocolError
impl Sync for ProtocolError
impl Unpin for ProtocolError
impl UnsafeUnpin for ProtocolError
impl !UnwindSafe for ProtocolError
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