pub enum Event {
SendRequest {
slot: u8,
method: u8,
reliable: bool,
},
ReceiveRequest {
slot: u8,
method: u8,
reliable: bool,
to_tag: u8,
},
ReceiveResponse {
slot: u8,
method: u8,
status: u8,
to_tag: u8,
},
SendResponse {
slot: u8,
method: u8,
status: u8,
to_tag: u8,
},
FireTimer {
key: u8,
timer: u8,
any: bool,
},
TransportError {
key: u8,
},
Abandon {
key: u8,
},
}Expand description
One step of a decoded program.
The three kinds the story names — a message arriving, the application asking for something, a timer firing — plus the two things a driver reports that no message can express.
Variants§
SendRequest
The application starts a client transaction.
Fields
ReceiveRequest
A request arrives from the network.
Fields
ReceiveResponse
A response arrives from the network, addressed at a client transaction.
Fields
SendResponse
The application answers a server transaction.
Fields
FireTimer
A timer the driver holds fires.
The key is chosen from every key the layer has ever created, including ones whose
transaction is gone — a driver’s timer wheel cannot cancel atomically, so a timer
firing into a retired machine is the normal case rather than the exotic one, and
Invariant::TimerForRemovedKey is what says it must be harmless.
Fields
TransportError
The transport reports it could not deliver for a transaction.
Abandon
The driver gives up on a server transaction the application never answered.
Trait Implementations§
impl Copy for Event
impl Eq for Event
impl StructuralPartialEq for Event
Auto Trait Implementations§
impl Freeze for Event
impl RefUnwindSafe for Event
impl Send for Event
impl Sync for Event
impl Unpin for Event
impl UnsafeUnpin for Event
impl UnwindSafe for Event
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more