pub struct ExponentialSchedule {
initial: Duration,
maximum: Duration,
multiplier: u32,
current: Duration,
}Expand description
Bounded exponential delay schedule.
Fields§
§initial: Duration§maximum: Duration§multiplier: u32§current: DurationImplementations§
Source§impl ExponentialSchedule
impl ExponentialSchedule
Sourcepub fn new(initial: Duration, maximum: Duration, multiplier: u32) -> Self
pub fn new(initial: Duration, maximum: Duration, multiplier: u32) -> Self
Create a schedule whose first delay is initial and whose delays never exceed maximum.
Sourcepub fn next_delay(&mut self) -> Duration
pub fn next_delay(&mut self) -> Duration
Return the current delay and advance the schedule for the next attempt.
Sourcepub const fn current_delay(&self) -> Duration
pub const fn current_delay(&self) -> Duration
Inspect the delay that will be returned by Self::next_delay.
Trait Implementations§
Source§impl Clone for ExponentialSchedule
impl Clone for ExponentialSchedule
Source§fn clone(&self) -> ExponentialSchedule
fn clone(&self) -> ExponentialSchedule
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 ExponentialSchedule
impl Debug for ExponentialSchedule
Source§impl PartialEq for ExponentialSchedule
impl PartialEq for ExponentialSchedule
impl Copy for ExponentialSchedule
impl Eq for ExponentialSchedule
impl StructuralPartialEq for ExponentialSchedule
Auto Trait Implementations§
impl Freeze for ExponentialSchedule
impl RefUnwindSafe for ExponentialSchedule
impl Send for ExponentialSchedule
impl Sync for ExponentialSchedule
impl Unpin for ExponentialSchedule
impl UnsafeUnpin for ExponentialSchedule
impl UnwindSafe for ExponentialSchedule
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more