#[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