struct RoomLifecycleState {
active_mutations: usize,
remove_when_idle: bool,
closing: bool,
expires_at: Option<Instant>,
reservation_ttl: Duration,
}Expand description
mutable state behind one directory entry’s lifecycle lease gate
this lock is synchronous and short lived
callers may hold a
RoomLifecycleLease while awaiting, but this mutex is only held while a
lease is accepted or released
Fields§
§active_mutations: usizeaccepted room work that has not finished or been dropped
remove_when_idle: boolempty-room removal request waiting for accepted work to drain
closing: boolterminal marker set once one finisher wins directory removal
expires_at: Option<Instant>reservation deadline, or None once a successful join retired it
reservation_ttl: Durationlease length this reservation was published with and is renewed by
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RoomLifecycleState
impl RefUnwindSafe for RoomLifecycleState
impl Send for RoomLifecycleState
impl Sync for RoomLifecycleState
impl Unpin for RoomLifecycleState
impl UnsafeUnpin for RoomLifecycleState
impl UnwindSafe for RoomLifecycleState
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
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§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> 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