pub enum BackoffStrategy {
Immediate,
Fixed {
delay_ms: u32,
},
Exponential {
base_delay_ms: u32,
max_delay_ms: u32,
},
Linear {
initial_delay_ms: u32,
increment_ms: u32,
max_delay_ms: u32,
},
}Expand description
Retry delay strategy used after a request times out.
The delay is computed per retry attempt in a poll-driven manner. No internal sleeping or blocking waits are performed by the library.
Variants§
Immediate
Retry immediately after timeout detection.
Fixed
Retry using a constant delay in milliseconds.
Exponential
Retry with an exponential sequence: base_delay_ms * 2^(attempt-1).
Fields
Linear
Retry with a linear sequence: initial_delay_ms + (attempt-1) * increment_ms.
Implementations§
Source§impl BackoffStrategy
impl BackoffStrategy
Sourcepub fn delay_ms_for_retry(&self, retry_attempt: u8) -> u32
pub fn delay_ms_for_retry(&self, retry_attempt: u8) -> u32
Computes the base retry delay in milliseconds for a 1-based retry attempt index.
retry_attempt is expected to start at 1 for the first retry after the
initial request timeout.
Trait Implementations§
Source§impl Clone for BackoffStrategy
impl Clone for BackoffStrategy
Source§fn clone(&self) -> BackoffStrategy
fn clone(&self) -> BackoffStrategy
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 BackoffStrategy
impl Debug for BackoffStrategy
Source§impl Default for BackoffStrategy
impl Default for BackoffStrategy
Source§impl PartialEq for BackoffStrategy
impl PartialEq for BackoffStrategy
impl Copy for BackoffStrategy
impl Eq for BackoffStrategy
impl StructuralPartialEq for BackoffStrategy
Auto Trait Implementations§
impl Freeze for BackoffStrategy
impl RefUnwindSafe for BackoffStrategy
impl Send for BackoffStrategy
impl Sync for BackoffStrategy
impl Unpin for BackoffStrategy
impl UnsafeUnpin for BackoffStrategy
impl UnwindSafe for BackoffStrategy
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