pub struct Retry<'a> {
gctx: &'a GlobalContext,
retries: u64,
max_retries: u64,
}
Expand description
State for managing retrying a network operation.
Fields§
§gctx: &'a GlobalContext
§retries: u64
The number of failed attempts that have been done so far.
Starts at 0, and increases by one each time an attempt fails.
max_retries: u64
The maximum number of times the operation should be retried.
0 means it should never retry.
Implementations§
Source§impl<'a> Retry<'a>
impl<'a> Retry<'a>
pub fn new(gctx: &'a GlobalContext) -> CargoResult<Retry<'a>>
Sourcepub fn try<T>(&mut self, f: impl FnOnce() -> CargoResult<T>) -> RetryResult<T>
pub fn try<T>(&mut self, f: impl FnOnce() -> CargoResult<T>) -> RetryResult<T>
Calls the given callback, and returns a RetryResult
which
indicates whether or not this needs to be called again at some point
in the future to retry the operation if it failed.
Sourcefn next_sleep_ms(&self) -> u64
fn next_sleep_ms(&self) -> u64
Gets the next sleep duration in milliseconds.
Auto Trait Implementations§
impl<'a> Freeze for Retry<'a>
impl<'a> !RefUnwindSafe for Retry<'a>
impl<'a> !Send for Retry<'a>
impl<'a> !Sync for Retry<'a>
impl<'a> Unpin for Retry<'a>
impl<'a> !UnwindSafe for Retry<'a>
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<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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes