pub struct RacySelectSpec {
pub value: i64,
pub send_vtime_ms: i64,
pub timeout_ms: i64,
}Expand description
A recognized racy select: a task sleeps then sends; main awaits the first of {receive, timeout}. The VM’s deterministic scheduler fires the smaller-virtual-time event, so the outcome is a COMPARISON of the send’s virtual time (the task’s cumulative sleep) against the timeout — reproducible on the mesh by a coordinator core, independent of real hardware timing.
Fields§
§value: i64The value the task sends.
send_vtime_ms: i64The send’s virtual time = the task’s cumulative sleep, in milliseconds.
timeout_ms: i64The select’s timeout, in milliseconds.
Trait Implementations§
Source§impl Clone for RacySelectSpec
impl Clone for RacySelectSpec
Source§fn clone(&self) -> RacySelectSpec
fn clone(&self) -> RacySelectSpec
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 RacySelectSpec
impl Debug for RacySelectSpec
Source§impl PartialEq for RacySelectSpec
impl PartialEq for RacySelectSpec
impl Eq for RacySelectSpec
impl StructuralPartialEq for RacySelectSpec
Auto Trait Implementations§
impl Freeze for RacySelectSpec
impl RefUnwindSafe for RacySelectSpec
impl Send for RacySelectSpec
impl Sync for RacySelectSpec
impl Unpin for RacySelectSpec
impl UnsafeUnpin for RacySelectSpec
impl UnwindSafe for RacySelectSpec
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,
§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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.