pub struct RetryState {
pub attempt: u32,
pub last_delay_ms: u64,
pub total_delay_ms: u64,
/* private fields */
}Expand description
Mutable state tracked across retry attempts.
Fields§
§attempt: u32The attempt number that was most recently executed (1-based).
last_delay_ms: u64The delay that was used before the most recent attempt (0 for the first attempt).
total_delay_ms: u64Cumulative delay accumulated across all waits.
Implementations§
Source§impl RetryState
impl RetryState
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a fresh RetryState ready for the first attempt.
Sourcepub fn next_delay(&mut self, policy: &RetryPolicy) -> Option<u64>
pub fn next_delay(&mut self, policy: &RetryPolicy) -> Option<u64>
Advances the state and returns the delay in milliseconds that should
be waited before the next attempt, or None if max_attempts has been
reached.
Trait Implementations§
Source§impl Clone for RetryState
impl Clone for RetryState
Source§fn clone(&self) -> RetryState
fn clone(&self) -> RetryState
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 RetryState
impl Debug for RetryState
Auto Trait Implementations§
impl Freeze for RetryState
impl RefUnwindSafe for RetryState
impl Send for RetryState
impl Sync for RetryState
impl Unpin for RetryState
impl UnsafeUnpin for RetryState
impl UnwindSafe for RetryState
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request