pub enum ObsEvent {
Show 24 variants
Sent {
tick: u64,
edge: Edge,
session: SessionId,
from: String,
to: String,
label: String,
},
Received {
tick: u64,
edge: Edge,
session: SessionId,
from: String,
to: String,
label: String,
},
Offered {
tick: u64,
edge: Edge,
label: String,
},
Chose {
tick: u64,
edge: Edge,
label: String,
},
Opened {
tick: u64,
session: SessionId,
roles: Vec<String>,
},
Closed {
tick: u64,
session: SessionId,
},
SessionTerminal {
tick: u64,
session: SessionId,
reason: SessionTerminalReason,
},
EpochAdvanced {
tick: u64,
sid: SessionId,
epoch: usize,
},
Halted {
tick: u64,
coro_id: usize,
},
Invoked {
tick: u64,
coro_id: usize,
role: String,
},
Acquired {
tick: u64,
session: SessionId,
role: String,
layer: String,
},
Released {
tick: u64,
session: SessionId,
role: String,
layer: String,
},
Transferred {
tick: u64,
session: SessionId,
role: String,
from: usize,
to: usize,
},
Forked {
tick: u64,
session: SessionId,
ghost: usize,
},
Joined {
tick: u64,
session: SessionId,
},
Aborted {
tick: u64,
session: SessionId,
},
Tagged {
tick: u64,
session: SessionId,
role: String,
fact: String,
},
Checked {
tick: u64,
session: SessionId,
role: String,
target: String,
permitted: bool,
},
Faulted {
tick: u64,
coro_id: usize,
fault: Fault,
},
FailureBranchEntered {
tick: u64,
session: SessionId,
coro_id: usize,
fault: Fault,
},
TimeoutIssued {
tick: u64,
site: String,
until_tick: u64,
witness_id: AuthorityWitnessId,
},
CancellationRequested {
tick: u64,
session: SessionId,
witness_id: AuthorityWitnessId,
owner_id: FragmentOwnerId,
reason: OwnershipTerminalReason,
},
Cancelled {
tick: u64,
session: SessionId,
witness_id: AuthorityWitnessId,
reason: OwnershipTerminalReason,
},
OutputConditionChecked {
tick: u64,
predicate_ref: String,
witness_ref: Option<String>,
output_digest: String,
passed: bool,
},
}Expand description
Observable event emitted by the VM.
Variants§
Sent
Value sent on an edge.
Fields
Received
Value received on an edge.
Fields
Offered
Label offered on an edge.
Fields
Chose
Label chosen on an edge.
Fields
Opened
Session opened.
Fields
Closed
Session closed.
SessionTerminal
Explicit terminal transition for one session.
Fields
reason: SessionTerminalReasonExplicit terminal reason.
EpochAdvanced
Session epoch advanced.
Fields
Halted
Coroutine halted.
Invoked
Effect handler invoked.
Fields
Acquired
Guard layer acquired.
Fields
Released
Guard layer released.
Fields
Transferred
Endpoint transferred between coroutines.
Fields
Forked
Speculation forked for a ghost session.
Fields
Joined
Speculation joined.
Aborted
Speculation aborted.
Tagged
Knowledge fact tagged.
Fields
Checked
Knowledge fact checked.
Fields
Faulted
Coroutine faulted.
Fields
FailureBranchEntered
Typed failure branch entry became visible before terminal fault handling.
Fields
TimeoutIssued
Explicit timeout occurrence became active for one site.
Fields
witness_id: AuthorityWitnessIdTimeout witness issued for the occurrence.
CancellationRequested
Explicit cancellation path was requested.
Fields
witness_id: AuthorityWitnessIdCancellation witness issued for the request.
owner_id: FragmentOwnerIdOwner whose lifecycle triggered the cancellation.
reason: OwnershipTerminalReasonOwnership reason for the cancellation request.
Cancelled
Explicit cancellation path completed.
Fields
witness_id: AuthorityWitnessIdCancellation witness used for the completion.
reason: OwnershipTerminalReasonOwnership reason for the completed cancellation.
OutputConditionChecked
Output-condition verification was evaluated at commit time.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ObsEvent
impl<'de> Deserialize<'de> for ObsEvent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ObsEvent
impl StructuralPartialEq for ObsEvent
Auto Trait Implementations§
impl Freeze for ObsEvent
impl RefUnwindSafe for ObsEvent
impl Send for ObsEvent
impl Sync for ObsEvent
impl Unpin for ObsEvent
impl UnsafeUnpin for ObsEvent
impl UnwindSafe for ObsEvent
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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
key and return true if they are equal.