pub enum ResumeValue {
None,
Payload(RtPayload),
Chan(ChanId),
Task(TaskId),
Select {
arm: usize,
payload: RtPayload,
},
}Expand description
What the scheduler delivers back to the interpreter on resume.
Variants§
None
Nothing meaningful (e.g. after Send/Sleep/Spawn-fire-and-forget).
Payload(RtPayload)
A received value (after Recv / a winning select recv arm).
Chan(ChanId)
A freshly-created channel id (after NewChan).
Task(TaskId)
A spawned task’s id (after Spawn).
Select
The winning arm of a Select: its index plus the received payload
(Nothing for a timeout arm).
Implementations§
Source§impl ResumeValue
impl ResumeValue
Sourcepub fn into_payload(self) -> RtPayload
pub fn into_payload(self) -> RtPayload
The received payload, or Nothing.
Sourcepub fn into_chan(self) -> Option<ChanId>
pub fn into_chan(self) -> Option<ChanId>
The created channel id, if this resume was from a NewChan.
Sourcepub fn into_select(self) -> Option<(usize, RtPayload)>
pub fn into_select(self) -> Option<(usize, RtPayload)>
The winning arm index + its payload, if this resume was from a Select.
Auto Trait Implementations§
impl Freeze for ResumeValue
impl RefUnwindSafe for ResumeValue
impl Send for ResumeValue
impl Sync for ResumeValue
impl Unpin for ResumeValue
impl UnsafeUnpin for ResumeValue
impl UnwindSafe for ResumeValue
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.