Struct tokio_retry::strategies::FromIterator
[−]
[src]
pub struct FromIterator<T> where T: IntoIterator<Item=Duration> { /* fields omitted */ }
A retry strategy backed by an iterator.
Example:
use std::time::Duration; use tokio_retry::strategies::FromIterator; let delays = vec![ Duration::from_millis(10), Duration::from_millis(20), Duration::from_millis(30) ]; let retry = FromIterator::new(delays);
Methods
impl<T> FromIterator<T> where T: IntoIterator<Item=Duration>
[src]
fn new(iter: T) -> FromIterator<T>
Trait Implementations
impl<T: Clone> Clone for FromIterator<T> where T: IntoIterator<Item=Duration>,
T::IntoIter: Clone
[src]
T::IntoIter: Clone
fn clone(&self) -> FromIterator<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<T> RetryStrategy for FromIterator<T> where T: IntoIterator<Item=Duration>
[src]
fn delay(&mut self) -> Option<Duration>
If Some
is returned, causes a delay of the specified duration before the next attempt. If None
is returned, causes no further attempts. Read more
fn jitter(self) -> Jittered<Self> where Self: Sized
Introduce full random jitter to the delay between attempts.
fn limit_retries(self, max_retries: usize) -> LimitedRetries<Self> where Self: Sized
Limit the number of retries.
fn limit_delay(self, max_delay: Duration) -> LimitedDelay<Self> where Self: Sized
Limit the delay between attempts.
fn run<S, A, F>(self, sleep: S, action: F) -> RetryFuture<S, Self, A, F> where S: Sleep, Self: Sized, A: IntoFuture, F: FnMut() -> A
Run the provided action, and if it fails, retry it using this strategy.