Fallback

Struct Fallback 

Source
pub struct Fallback<T, U> {
    pub first: T,
    pub second: U,
}
Expand description

A wrapper that tries the first operation, and if it fails, tries the second.

Fields§

§first: T§second: U

Implementations§

Source§

impl<T, U> Fallback<T, U>

Source

pub const fn new(first: T, second: U) -> Self

Creates a new Fallback.

Trait Implementations§

Source§

impl<T, U> Concatenator for Fallback<T, U>

Available on crate features alloc and concatenation only.
Source§

type Error = FallbackError<<T as Concatenator>::Error, <U as Concatenator>::Error>

The type of errors that can occur during concatenation.
Source§

fn concatenate( &self, message: &str, max_message_size: usize, part_header_size: usize, ) -> Result<(Concatenation, DataCoding), Self::Error>

Splits the encoded message into concatenated parts and their associated DataCoding. Read more
Source§

impl<T: Debug, U: Debug> Debug for Fallback<T, U>

Source§

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

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

impl<T, U> Encoder for Fallback<T, U>
where T: Encoder, U: Encoder,

Available on crate features alloc and encoding only.
Source§

type Error = FallbackError<<T as Encoder>::Error, <U as Encoder>::Error>

The type of errors that can occur during encoding.
Source§

fn encode(&self, message: &str) -> Result<(Vec<u8>, DataCoding), Self::Error>

Encodes the given message into a vector of bytes and its associated DataCoding.

Auto Trait Implementations§

§

impl<T, U> Freeze for Fallback<T, U>
where T: Freeze, U: Freeze,

§

impl<T, U> RefUnwindSafe for Fallback<T, U>

§

impl<T, U> Send for Fallback<T, U>
where T: Send, U: Send,

§

impl<T, U> Sync for Fallback<T, U>
where T: Sync, U: Sync,

§

impl<T, U> Unpin for Fallback<T, U>
where T: Unpin, U: Unpin,

§

impl<T, U> UnwindSafe for Fallback<T, U>
where T: UnwindSafe, U: UnwindSafe,

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.