pub struct Backoff {
step: Cell<u32>,
}
🔬This is a nightly-only experimental API. (
mpmc_channel
#126840)Expand description
Performs quadratic backoff in spin loops.
Fields§
§step: Cell<u32>
🔬This is a nightly-only experimental API. (
mpmc_channel
#126840)Implementations§
Source§impl Backoff
impl Backoff
Sourcepub fn new() -> Self
🔬This is a nightly-only experimental API. (mpmc_channel
#126840)
pub fn new() -> Self
mpmc_channel
#126840)Creates a new Backoff
.
Sourcepub fn spin_light(&self)
🔬This is a nightly-only experimental API. (mpmc_channel
#126840)
pub fn spin_light(&self)
mpmc_channel
#126840)Backs off using lightweight spinning.
This method should be used for retrying an operation because another thread made progress. i.e. on CAS failure.
Sourcepub fn spin_heavy(&self)
🔬This is a nightly-only experimental API. (mpmc_channel
#126840)
pub fn spin_heavy(&self)
mpmc_channel
#126840)Backs off using heavyweight spinning.
This method should be used in blocking loops where parking the thread is not an option.
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> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)] const IS_ZST: bool = _
#[doc(hidden)] const IS_ZST: bool = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const LAYOUT: Layout = _
#[doc(hidden)] const LAYOUT: Layout = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const MAX_SLICE_LEN: usize = _
#[doc(hidden)] const MAX_SLICE_LEN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)The largest safe length for a
[Self]
. Read more