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