Enum Error

Source
pub enum Error {
    NotSupported,
    FrameTooLarge,
    ConnectionLost,
    DesequenceFault,
}
Expand description

Error return types emitted by Endpoint implementations

Underlying hardware errors are entirely shadowed, because it wouldn’t reasonably be possible to encode them all and error messages are prone to confusion. Instead, a simple set of common hardware and buffer related errors was selected to be retunrable.

Routing layers (such as R.A.T.M.A.N. are expected to respond gracefully to all of these errors, so none of them should be considered fatal.

Variants§

§

NotSupported

The requested operation is not supported by an adapter

Valid reasons to return this error might be a routing layer trying to setup a listen handle on platforms that only support basic polling.

This error must not be used for dealing with a Frame that exceeds available buffer capacity!

§

FrameTooLarge

The provided Frame was too large to send on this adapter

Sometimes a routing layer (such as R.A.T.M.A.N.) will partially ignore the provided size_hint for efficiency reasons and provide a Frame to an adapter that is larger. If a backend has an upper size limit, encoded in the size_hint (or larger), and a Frame exceeds this limit, returning this error is permited.

It will result in the routing later resubmitting a smaller Frame sequence.

§

ConnectionLost

During the most recent transmission a connection drop occured

This error can be thrown both during send and poll, but should not be returned by listen, as an invalid Frame can simply be dropped.

§

DesequenceFault

During desequencing an error occured

Trait Implementations§

Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult

Formats the value using the given formatter. Read more
Source§

impl Error for Error

1.30.0 · Source§

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

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V