pub enum ProcessRequest {
Kill(ProcessId),
Suspend(ProcessId),
Resume(ProcessId),
Await(ProcessId),
SyncBlock,
SyncWake(ProcessId),
}Expand description
One process class method call that mutates another process (or this
one), queued by SchedulerOps::process_request and applied by the
engine at the next suspend point – the same drain-at-apply_suspend
shape disable fork uses, because SchedulerOps methods take &self.
Variants§
Kill(ProcessId)
Suspend(ProcessId)
Resume(ProcessId)
Await(ProcessId)
SyncBlock
Classes plan Task 17 (LRM 15.3): the requester called a blocking
synchronisation-object method (semaphore.get) that must wait; it
stays yielded after its Suspend::ByRequest until a
ProcessRequest::SyncWake names it.
SyncWake(ProcessId)
The named process’s blocked get has been granted its keys: it runs
again. Queued by the put (or kill) that released it.
Trait Implementations§
Source§impl Clone for ProcessRequest
impl Clone for ProcessRequest
impl Copy for ProcessRequest
Source§impl Debug for ProcessRequest
impl Debug for ProcessRequest
impl Eq for ProcessRequest
Source§impl PartialEq for ProcessRequest
impl PartialEq for ProcessRequest
impl StructuralPartialEq for ProcessRequest
Auto Trait Implementations§
impl Freeze for ProcessRequest
impl RefUnwindSafe for ProcessRequest
impl Send for ProcessRequest
impl Sync for ProcessRequest
impl Unpin for ProcessRequest
impl UnsafeUnpin for ProcessRequest
impl UnwindSafe for ProcessRequest
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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<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.