Struct tikv_client::backoff::Backoff
source · pub struct Backoff { /* private fields */ }
Expand description
When a request is retried, we can backoff for some time to avoid saturating the network.
Backoff
is an object which determines how long to wait for.
Implementations§
source§impl Backoff
impl Backoff
pub fn next_delay_duration(&mut self) -> Option<Duration>
sourcepub fn is_none(&self) -> bool
pub fn is_none(&self) -> bool
True if we should not backoff at all (usually indicates that we should not retry a request).
sourcepub fn current_attempts(&self) -> u32
pub fn current_attempts(&self) -> u32
Returns the number of attempts
sourcepub const fn no_backoff() -> Backoff
pub const fn no_backoff() -> Backoff
Don’t wait. Usually indicates that we should not retry a request.
pub const fn no_jitter_backoff( base_delay_ms: u64, max_delay_ms: u64, max_attempts: u32, ) -> Backoff
pub fn full_jitter_backoff( base_delay_ms: u64, max_delay_ms: u64, max_attempts: u32, ) -> Backoff
pub fn equal_jitter_backoff( base_delay_ms: u64, max_delay_ms: u64, max_attempts: u32, ) -> Backoff
Trait Implementations§
source§impl PartialEq for Backoff
impl PartialEq for Backoff
impl Eq for Backoff
impl StructuralPartialEq for Backoff
Auto Trait Implementations§
impl Freeze for Backoff
impl RefUnwindSafe for Backoff
impl Send for Backoff
impl Sync for Backoff
impl Unpin for Backoff
impl UnwindSafe for Backoff
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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§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 moresource§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