pub enum RunOutcome {
Done(RtPayload),
Deadlock,
WaitingForIo,
}Expand description
The result of running a scheduler to quiescence.
Variants§
Done(RtPayload)
Every task finished. Carries the main task’s result (or Nothing).
Deadlock
Tasks remain but all are blocked with no timer to fire — a deadlock.
WaitingForIo
Tasks remain, none ready and no timer to fire, but at least one is parked on
external async I/O ([TaskState::BlockedIo]) — not a deadlock. The scheduler has no
reactor; the async drive loop must yield to the host reactor, then Scheduler::wake_io
to re-poll the parked tasks. The synchronous run() cannot make progress here.
Trait Implementations§
Source§impl Clone for RunOutcome
impl Clone for RunOutcome
Source§fn clone(&self) -> RunOutcome
fn clone(&self) -> RunOutcome
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 RunOutcome
impl Debug for RunOutcome
Source§impl PartialEq for RunOutcome
impl PartialEq for RunOutcome
Source§fn eq(&self, other: &RunOutcome) -> bool
fn eq(&self, other: &RunOutcome) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for RunOutcome
Auto Trait Implementations§
impl Freeze for RunOutcome
impl RefUnwindSafe for RunOutcome
impl Send for RunOutcome
impl Sync for RunOutcome
impl Unpin for RunOutcome
impl UnsafeUnpin for RunOutcome
impl UnwindSafe for RunOutcome
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