pub trait AsyncRetryStrategy: Send + Sync {
// Required methods
fn next_interval(
&mut self,
attempt: u32,
last_interval: Duration,
) -> Duration;
fn should_retry(
&self,
attempt: u32,
elapsed: Duration,
max_retries: Option<u32>,
timeout: Duration,
) -> bool;
fn reset(&mut self);
fn name(&self) -> &'static str;
}Expand description
Async trait for retry strategies
This allows for custom retry logic, exponential backoff algorithms, jitter, and other advanced retry patterns.
Required Methods§
Sourcefn next_interval(&mut self, attempt: u32, last_interval: Duration) -> Duration
fn next_interval(&mut self, attempt: u32, last_interval: Duration) -> Duration
Calculate the next retry interval