#[non_exhaustive]pub enum FrameError {
UnknownMessageType(u16),
Decode {
message_type: u16,
},
Decrypt,
Malformed(String),
}Expand description
A frame arrived but could not be decoded into a [crate::parser::ProtoMessage].
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.
UnknownMessageType(u16)
A well-formed frame carrying a message type this build does not know.
Safe to skip: the connection stays healthy. This is the forward-compat path for message types added by newer ESPHome versions.
Decode
A recognized message type whose protobuf body failed to decode.
Decrypt
AEAD decryption of an encrypted frame failed (tampered ciphertext or a desynchronized cipher).
Malformed(String)
The frame itself was malformed (bad length varint, wrong preamble byte, truncated payload, oversized frame, …).
Trait Implementations§
Source§impl Debug for FrameError
impl Debug for FrameError
Source§impl Display for FrameError
impl Display for FrameError
Source§impl Error for FrameError
impl Error for FrameError
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<FrameError> for Error
impl From<FrameError> for Error
Source§fn from(source: FrameError) -> Self
fn from(source: FrameError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for FrameError
impl RefUnwindSafe for FrameError
impl Send for FrameError
impl Sync for FrameError
impl Unpin for FrameError
impl UnsafeUnpin for FrameError
impl UnwindSafe for FrameError
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