pub struct ExecState {
pub frontier: VecDeque<(OpRef, ExecId)>,
pub slot_table: HashMap<(NodeSiteId, ExecId), Option<Box<dyn SlotValue>>>,
pub execution_state: HashMap<ExecId, ExecutionState>,
pub pending_async: HashMap<CommandId, PendingAsync>,
pub pending_completions: Vec<PendingCompletion>,
pub pending_calls: HashMap<ExecId, CallContext>,
pub ids: IdAllocator,
}Expand description
Per-poll execution-state bundle held on Engine.
Fields§
§frontier: VecDeque<(OpRef, ExecId)>In-cycle DAG-walking queue: ops ready to fire now, paired with the execution they belong to.
slot_table: HashMap<(NodeSiteId, ExecId), Option<Box<dyn SlotValue>>>Per-execution slot storage keyed by (NodeSiteId, ExecId).
execution_state: HashMap<ExecId, ExecutionState>Per-execution liveness tracker (output counter used for GC bookkeeping when an execution finishes).
pending_async: HashMap<CommandId, PendingAsync>Suspended ops awaiting CommandId completion. Matched
against pending_completions on the engine’s completion drain.
pending_completions: Vec<PendingCompletion>Completions captured during a dispatch hook. Drained by the
engine and matched against pending_async.
pending_calls: HashMap<ExecId, CallContext>Active function-call invocations keyed by the body’s
ExecId. Populated when OpDispatch::FunctionCall fires;
removed as outputs are forwarded back to the caller.
ids: IdAllocatorMonotonic ID source for ExecId / CommandId /
NodeSiteId / OpRef.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ExecState
impl !UnwindSafe for ExecState
impl Freeze for ExecState
impl Send for ExecState
impl Sync for ExecState
impl Unpin for ExecState
impl UnsafeUnpin for ExecState
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ErasedComponent for T
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request