ErrorAction

Enum ErrorAction 

Source
pub enum ErrorAction {
    Raise(Error),
    RaiseAndSkip(Error),
    Retry,
    RetryAndSkip,
}
Expand description

Defines the action to take when a read error occurs.

This enum allows fine-grained control over how ChainReader handles I/O errors during read operations. Each variant represents a different strategy for error recovery or propagation.

Variants§

§

Raise(Error)

Propagate the error but retain the current reader.

The next read operation will retry the same reader. This is useful for transient errors where retrying might succeed (e.g., io::ErrorKind::Interrupted).

§

RaiseAndSkip(Error)

Propagate the error and skip to the next reader.

The problematic reader is removed from the queue and the error is returned. This is useful for fatal errors that cannot be recovered from.

§

Retry

Silently retry the current reader without propagating the error.

The error is swallowed and the same reader will be retried on the next read. This is useful for errors that should be handled transparently.

§

RetryAndSkip

Silently skip to the next reader without propagating the error.

The problematic reader is removed from the queue without returning an error. This is useful for non-critical errors where skipping is acceptable.

Trait Implementations§

Source§

impl Debug for ErrorAction

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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, 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.