[][src]Struct backoff::exponential::ExponentialBackoff

pub struct ExponentialBackoff<C> {
    pub current_interval: Duration,
    pub initial_interval: Duration,
    pub randomization_factor: f64,
    pub multiplier: f64,
    pub max_interval: Duration,
    pub start_time: Instant,
    pub max_elapsed_time: Option<Duration>,
    pub clock: C,
}

Fields

current_interval: Duration

The current retry interval.

initial_interval: Duration

The initial retry interval.

randomization_factor: f64

The randomization factor to use for creating a range around the retry interval.

A randomization factor of 0.5 results in a random period ranging between 50% below and 50% above the retry interval.

multiplier: f64

The value to multiply the current interval with for each retry attempt.

max_interval: Duration

The maximum value of the back off period. Once the retry interval reaches this value it stops increasing.

start_time: Instant

The system time. It is calculated when an ExponentialBackoff instance is created and is reset when retry is called.

max_elapsed_time: Option<Duration>

The maximum elapsed time after instantiating ExponentialBackfff or calling reset after which next_backoff returns None.

clock: C

The clock used to get the current time.

Methods

impl<C: Clock> ExponentialBackoff<C>[src]

pub fn get_elapsed_time(&self) -> Duration[src]

Returns the elapsed time since start_time.

Trait Implementations

impl<C> Backoff for ExponentialBackoff<C> where
    C: Clock
[src]

impl<C> Default for ExponentialBackoff<C> where
    C: Clock + Default
[src]

impl<C: Debug> Debug for ExponentialBackoff<C>[src]

Auto Trait Implementations

impl<C> Send for ExponentialBackoff<C> where
    C: Send

impl<C> Sync for ExponentialBackoff<C> where
    C: Sync

Blanket Implementations

impl<T> From for T[src]

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

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

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

The type returned in the event of a conversion error.