Enum ratman_netmod::Error[][src]

pub enum Error {
    NotSupported,
    FrameTooLarge,
    ConnectionLost,
    DesequenceFault,
}

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

impl Debug for Error[src]

impl Display for Error[src]

impl Error for Error[src]

Auto Trait Implementations

impl RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl UnwindSafe for Error

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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