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.