#[non_exhaustive]pub enum SuspendOutcome {
Suspended {
details: SuspendOutcomeDetails,
handle: Handle,
},
AlreadySatisfied {
details: SuspendOutcomeDetails,
},
}Expand description
Trait-surface output from [EngineBackend::suspend] (RFC-013 §2.3).
Two variants encode the “lease released” vs “lease retained” split. See §2.3 for the runtime-enforcement semantics.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Suspended
The worker’s pre-suspend handle is no longer lease-bearing; a
fresh HandleKind::Suspended handle supersedes it.
AlreadySatisfied
Buffered signals on a pending waitpoint already satisfied the condition at suspension time; the lease is retained and the caller’s pre-suspend handle remains valid.
Fields
§
details: SuspendOutcomeDetailsImplementations§
Source§impl SuspendOutcome
impl SuspendOutcome
Sourcepub fn details(&self) -> &SuspendOutcomeDetails
pub fn details(&self) -> &SuspendOutcomeDetails
Borrow the shared details regardless of variant.
Trait Implementations§
Source§impl Clone for SuspendOutcome
impl Clone for SuspendOutcome
Source§fn clone(&self) -> SuspendOutcome
fn clone(&self) -> SuspendOutcome
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SuspendOutcome
impl Debug for SuspendOutcome
Source§impl PartialEq for SuspendOutcome
impl PartialEq for SuspendOutcome
impl Eq for SuspendOutcome
impl StructuralPartialEq for SuspendOutcome
Auto Trait Implementations§
impl Freeze for SuspendOutcome
impl RefUnwindSafe for SuspendOutcome
impl Send for SuspendOutcome
impl Sync for SuspendOutcome
impl Unpin for SuspendOutcome
impl UnsafeUnpin for SuspendOutcome
impl UnwindSafe for SuspendOutcome
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§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