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 StructuralEq for Backoff
impl StructuralPartialEq for Backoff
Auto Trait Implementations§
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<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§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 Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§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<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§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