pub enum PublishedOwner {
Owner(OwnerLockRecord),
Busy,
}Expand description
What:
What reading a published lock found.
Busy means the lock vanished while it was
read,
so the caller must look again.
Why:
A release or retirement renames the directory away at any moment;
that is a race to
retry,
not corruption.
In TS you’d write (pseudocode):
type ReadOwner = OwnerLockRecord | typeof LOCK_BUSY;Variants§
Owner(OwnerLockRecord)
The lock holds this owner.
Busy
The lock or its record vanished during the read.
Trait Implementations§
Source§impl Clone for PublishedOwner
impl Clone for PublishedOwner
Source§impl Debug for PublishedOwner
impl Debug for PublishedOwner
impl Eq for PublishedOwner
Source§impl PartialEq for PublishedOwner
impl PartialEq for PublishedOwner
impl StructuralPartialEq for PublishedOwner
Auto Trait Implementations§
impl Freeze for PublishedOwner
impl RefUnwindSafe for PublishedOwner
impl Send for PublishedOwner
impl Sync for PublishedOwner
impl Unpin for PublishedOwner
impl UnsafeUnpin for PublishedOwner
impl UnwindSafe for PublishedOwner
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<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 more