#[non_exhaustive]pub enum EncodeError {
GlobalPayloadTooLong {
len: usize,
},
MissingDestination {
mti: Mti,
},
UnexpectedDestination {
mti: Mti,
},
MtiTooWide {
mti: Mti,
},
DatagramTooLong {
len: usize,
},
}Expand description
Why Message::try_to_frames refused to encode a message.
use rolcb::{EncodeError, Message, Mti};
let big = Message::Datagram { dest: 0x456, data: vec![0; 73] };
assert_eq!(big.try_to_frames(0x123), Err(EncodeError::DatagramTooLong { len: 73 }));
let no_dest = Message::Other { mti: Mti(0x0DA8), dest: None, payload: vec![] };
assert_eq!(
no_dest.try_to_frames(0x123),
Err(EncodeError::MissingDestination { mti: Mti(0x0DA8) })
);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.
GlobalPayloadTooLong
A global message’s payload is longer than one CAN frame (8 bytes).
MissingDestination
The MTI is addressed (bit 3 set) but the message has no destination.
UnexpectedDestination
The MTI is global but the message carries a destination.
MtiTooWide
The MTI has bits above bit 11 set and is not Mti::DATAGRAM, so it
does not fit the 12-bit CAN-MTI field (e.g. stream MTIs, which need
stream frames this crate does not build).
DatagramTooLong
A datagram is longer than MAX_DATAGRAM (72) bytes.
Trait Implementations§
Source§impl Clone for EncodeError
impl Clone for EncodeError
impl Copy for EncodeError
Source§impl Debug for EncodeError
impl Debug for EncodeError
Source§impl Display for EncodeError
impl Display for EncodeError
impl Eq for EncodeError
Source§impl Error for EncodeError
impl Error for EncodeError
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 Hash for EncodeError
impl Hash for EncodeError
Source§impl PartialEq for EncodeError
impl PartialEq for EncodeError
impl StructuralPartialEq for EncodeError
Auto Trait Implementations§
impl Freeze for EncodeError
impl RefUnwindSafe for EncodeError
impl Send for EncodeError
impl Sync for EncodeError
impl Unpin for EncodeError
impl UnsafeUnpin for EncodeError
impl UnwindSafe for EncodeError
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