pub enum RecoveryAction {
RetryWithBackoff {
max_attempts: u32,
initial_delay: Duration,
max_delay: Duration,
backoff_multiplier: f64,
},
Fallback {
strategy: FallbackStrategy,
timeout: Duration,
},
Degrade {
level: DegradationLevel,
duration: Duration,
},
Reset {
component: String,
preserve_data: bool,
},
Skip,
Terminate,
}Expand description
Specific recovery actions for different error types
Variants§
RetryWithBackoff
Retry operation with exponential backoff
Fallback
Switch to alternative implementation
Degrade
Gracefully degrade functionality
Reset
Reset component state
Skip
Skip operation and continue
Terminate
Terminate operation safely
Trait Implementations§
Source§impl Clone for RecoveryAction
impl Clone for RecoveryAction
Source§fn clone(&self) -> RecoveryAction
fn clone(&self) -> RecoveryAction
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for RecoveryAction
impl RefUnwindSafe for RecoveryAction
impl Send for RecoveryAction
impl Sync for RecoveryAction
impl Unpin for RecoveryAction
impl UnwindSafe for RecoveryAction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more