Struct tokio_retry::strategy::FibonacciBackoff[][src]

pub struct FibonacciBackoff { /* fields omitted */ }

A retry strategy driven by the fibonacci series.

Each retry uses a delay which is the sum of the two previous delays.

Depending on the problem at hand, a fibonacci retry strategy might perform better and lead to better throughput than the ExponentialBackoff strategy.

See “A Performance Comparison of Different Backoff Algorithms under Different Rebroadcast Probabilities for MANETs.” for more details.

Implementations

impl FibonacciBackoff[src]

pub fn from_millis(millis: u64) -> FibonacciBackoff

Notable traits for FibonacciBackoff

impl Iterator for FibonacciBackoff type Item = Duration;
[src]

Constructs a new fibonacci back-off strategy, given a base duration in milliseconds.

pub fn factor(self, factor: u64) -> FibonacciBackoff

Notable traits for FibonacciBackoff

impl Iterator for FibonacciBackoff type Item = Duration;
[src]

A multiplicative factor that will be applied to the retry delay.

For example, using a factor of 1000 will make each delay in units of seconds.

Default factor is 1.

pub fn max_delay(self, duration: Duration) -> FibonacciBackoff

Notable traits for FibonacciBackoff

impl Iterator for FibonacciBackoff type Item = Duration;
[src]

Apply a maximum delay. No retry delay will be longer than this Duration.

Trait Implementations

impl Clone for FibonacciBackoff[src]

impl Debug for FibonacciBackoff[src]

impl Iterator for FibonacciBackoff[src]

type Item = Duration

The type of the elements being iterated over.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<I> IteratorRandom for I where
    I: Iterator
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,