pub struct SubScriptFrame {
pub script_name: String,
pub parent_task: String,
pub parent_node_id: Option<u64>,
pub attempt: Option<u8>,
}Expand description
One ancestor frame on a flattened EngineEvent::SubScript payload.
Issue #993: EngineEvent::SubScript used to wrap a nested
Box<EngineEvent> per call-stack level, so a depth-N chain produced an
event whose serialized payload was O(N) deep — a 10-level art_123_2
fanout could blow a single SSE frame past a megabyte and choke
reconnect logic. The new wire shape carries the leaf event flat and
names ancestors via an ordered parent_path of these frames so SDKs
rebuild the tree off the side without paying the recursion cost on
every envelope.
Frame ordering: parent_path[0] is the outermost ancestor (direct
child of the top-level workflow); parent_path[len-1] is the
immediate parent of the currently-emitting sub-script (whose own
script_name lives on the EngineEvent::SubScript fields, NOT
inside parent_path).
Fields§
§script_name: StringCalled script’s name as it lives in the parent’s project. Matches
the script_name an outer SubScript envelope would have carried
in the legacy recursive shape.
parent_task: StringVariable name on the parent side that received the call result —
same semantics as the top-level EngineEvent::SubScript::parent_task.
parent_node_id: Option<u64>Compiler-stable id of the parent’s call(…) node, when known. Lets consumers correlate retries of the same call site (issue #845) across the ancestor chain.
attempt: Option<u8>1-indexed attempt counter for author-raise retries at the same
call site. Matches EngineEvent::SubScript::attempt semantics.
Trait Implementations§
Source§impl Clone for SubScriptFrame
impl Clone for SubScriptFrame
Source§fn clone(&self) -> SubScriptFrame
fn clone(&self) -> SubScriptFrame
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SubScriptFrame
impl Debug for SubScriptFrame
Source§impl<'de> Deserialize<'de> for SubScriptFrame
impl<'de> Deserialize<'de> for SubScriptFrame
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>,
Source§impl PartialEq for SubScriptFrame
impl PartialEq for SubScriptFrame
Source§fn eq(&self, other: &SubScriptFrame) -> bool
fn eq(&self, other: &SubScriptFrame) -> bool
self and other values to be equal, and is used by ==.