pub struct RecoveryConfig {
pub max_restart_attempts: u32,
pub restart_delay: Duration,
pub checkpoint_before_restart: bool,
pub migrate_on_device_error: bool,
pub recovery_cooldown: Duration,
pub policies: HashMap<FailureType, RecoveryPolicy>,
}Expand description
Configuration for automatic recovery.
Fields§
§max_restart_attempts: u32Maximum restart attempts before escalating.
restart_delay: DurationDelay between restart attempts.
checkpoint_before_restart: boolWhether to checkpoint before restart.
migrate_on_device_error: boolWhether to migrate on device errors.
recovery_cooldown: DurationCooldown period between recovery attempts.
policies: HashMap<FailureType, RecoveryPolicy>Policies for different failure types.
Implementations§
Source§impl RecoveryConfig
impl RecoveryConfig
Sourcepub fn builder() -> RecoveryConfigBuilder
pub fn builder() -> RecoveryConfigBuilder
Create a new builder.
Sourcepub fn conservative() -> Self
pub fn conservative() -> Self
Create a conservative config (notify-first).
Sourcepub fn aggressive() -> Self
pub fn aggressive() -> Self
Create an aggressive config (auto-recover).
Sourcepub fn policy_for(&self, failure_type: FailureType) -> RecoveryPolicy
pub fn policy_for(&self, failure_type: FailureType) -> RecoveryPolicy
Get recovery policy for a failure type.
Trait Implementations§
Source§impl Clone for RecoveryConfig
impl Clone for RecoveryConfig
Source§fn clone(&self) -> RecoveryConfig
fn clone(&self) -> RecoveryConfig
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 moreSource§impl Debug for RecoveryConfig
impl Debug for RecoveryConfig
Auto Trait Implementations§
impl Freeze for RecoveryConfig
impl RefUnwindSafe for RecoveryConfig
impl Send for RecoveryConfig
impl Sync for RecoveryConfig
impl Unpin for RecoveryConfig
impl UnwindSafe for RecoveryConfig
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.