pub enum RetryStrategy {
    Fixed {
        delay: Duration,
        max_attempts: u32,
    },
    Exponential {
        initial_delay: Duration,
        multiplier: f64,
        max_delay: Duration,
        max_attempts: u32,
        jitter: bool,
    },
    Linear {
        initial_delay: Duration,
        increment: Duration,
        max_delay: Duration,
        max_attempts: u32,
    },
    Custom {
        delays: Vec<Duration>,
    },
}Expand description
Retry strategy configuration
Variants§
Fixed
Fixed delay between retries
Exponential
Exponential backoff with optional jitter
Linear
Linear backoff
Custom
Custom retry delays
Implementations§
Source§impl RetryStrategy
 
impl RetryStrategy
Sourcepub fn delay_for_attempt(&self, attempt: u32) -> Option<Duration>
 
pub fn delay_for_attempt(&self, attempt: u32) -> Option<Duration>
Calculate retry delay for the given attempt
Sourcepub fn max_attempts(&self) -> u32
 
pub fn max_attempts(&self) -> u32
Get maximum number of retry attempts
Trait Implementations§
Source§impl Clone for RetryStrategy
 
impl Clone for RetryStrategy
Source§fn clone(&self) -> RetryStrategy
 
fn clone(&self) -> RetryStrategy
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 RetryStrategy
 
impl Debug for RetryStrategy
Source§impl Default for RetryStrategy
 
impl Default for RetryStrategy
Source§impl<'de> Deserialize<'de> for RetryStrategy
 
impl<'de> Deserialize<'de> for RetryStrategy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RetryStrategy
impl RefUnwindSafe for RetryStrategy
impl Send for RetryStrategy
impl Sync for RetryStrategy
impl Unpin for RetryStrategy
impl UnwindSafe for RetryStrategy
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