pub struct DatabaseGcOwnerGuard { /* private fields */ }Expand description
Exclusive canonical-database ownership shared by transactional blob GC and the boot-gated V21 attachment cutover.
The process-local mutex is acquired first and retained while the advisory file lock is acquired on a blocking thread. Moving the owned mutex guard into that closure makes cancellation safe: dropping the outer future cannot release process ownership while a blocking advisory acquisition continues.
Implementations§
Source§impl DatabaseGcOwnerGuard
impl DatabaseGcOwnerGuard
Sourcepub fn database_path(&self) -> Option<&Path>
pub fn database_path(&self) -> Option<&Path>
Canonical database path that keys this owner, or None for an
in-memory database whose process-local mutex is the complete fence.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DatabaseGcOwnerGuard
impl RefUnwindSafe for DatabaseGcOwnerGuard
impl Send for DatabaseGcOwnerGuard
impl Sync for DatabaseGcOwnerGuard
impl Unpin for DatabaseGcOwnerGuard
impl UnsafeUnpin for DatabaseGcOwnerGuard
impl UnwindSafe for DatabaseGcOwnerGuard
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> 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