pub struct PendingSyncs { /* private fields */ }Expand description
Coordinates durability operations for a DelayedSyncContext or DelayedSyncBlob.
Every started sync parks in a deferred queue (in start order) until a test releases it. Self::arm additionally installs a one-shot gate that blocks the next durability operation and counts operations from that point on (Self::calls). The gate is pushed onto the deferred queue when Self::arm is called, before any operation reaches it.
Implementations§
Source§impl PendingSyncs
impl PendingSyncs
Sourcepub fn lock(&self) -> MutexGuard<'_, Vec<DeferredSync>>
pub fn lock(&self) -> MutexGuard<'_, Vec<DeferredSync>>
Locks the deferred sync queue.
Sourcepub fn arm(&self)
pub fn arm(&self)
Begins counting durability operations and blocks the next one behind a one-shot gate (pushed onto the deferred queue so tests can release it).
Once the gate is consumed, started syncs park in the deferred queue as usual while Self::calls keeps counting.
Trait Implementations§
Source§impl Clone for PendingSyncs
impl Clone for PendingSyncs
Source§fn clone(&self) -> PendingSyncs
fn clone(&self) -> PendingSyncs
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 Default for PendingSyncs
impl Default for PendingSyncs
Source§fn default() -> PendingSyncs
fn default() -> PendingSyncs
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for PendingSyncs
impl !UnwindSafe for PendingSyncs
impl Freeze for PendingSyncs
impl Send for PendingSyncs
impl Sync for PendingSyncs
impl Unpin for PendingSyncs
impl UnsafeUnpin for PendingSyncs
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§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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 more