#[non_exhaustive]pub struct ResolveDependencyArgs {
pub partition: Partition,
pub flow_id: FlowId,
pub downstream_execution_id: ExecutionId,
pub upstream_execution_id: ExecutionId,
pub edge_id: EdgeId,
pub lane_id: LaneId,
pub current_attempt_index: AttemptIndex,
pub upstream_outcome: String,
pub now: TimestampMs,
}Expand description
Inputs to crate::engine_backend::EngineBackend::resolve_dependency
— the trait-level entry point PR-7b Step 0 lifted out of the two
inline FCALL call sites (ff-engine::partition_router:: dispatch_dependency_resolution and
ff-engine::scanner::dependency_reconciler::resolve_eligible_edges).
Both Valkey call sites build identical KEYS[14]+ARGV[5] arrays.
The fields below are the minimum they need to survive a trait-
boundary hand-off: partition drives the Valkey key-tagging,
downstream_execution_id + lane_id + current_attempt_index
pin the child’s KEYS, upstream_execution_id derives KEYS[11]
(upstream_result for server-side data_passing_ref copy),
flow_id supplies the RFC-016 Stage C ARGV[4] + edgegroup/incoming
KEYS.
#[non_exhaustive] + ::new per
feedback_non_exhaustive_needs_constructor. Does NOT derive
Serialize / Deserialize — this is a trait-boundary args
struct, not a wire-format type.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.partition: PartitionChild (downstream) execution’s partition. Flow + exec partitions
co-locate on {fp:N} post-RFC-011 so the FCALL stays single-slot.
flow_id: FlowId§downstream_execution_id: ExecutionId§upstream_execution_id: ExecutionId§edge_id: EdgeId§lane_id: LaneId§current_attempt_index: AttemptIndexChild’s current attempt index — selects attempt_hash +
stream_meta KEYS so late satisfaction updates the active
attempt (race-safe under renewal).
upstream_outcome: String“success”, “failed”, “cancelled”, “expired”, “skipped”
now: TimestampMsImplementations§
Source§impl ResolveDependencyArgs
impl ResolveDependencyArgs
Sourcepub fn new(
partition: Partition,
flow_id: FlowId,
downstream_execution_id: ExecutionId,
upstream_execution_id: ExecutionId,
edge_id: EdgeId,
lane_id: LaneId,
current_attempt_index: AttemptIndex,
upstream_outcome: String,
now: TimestampMs,
) -> Self
pub fn new( partition: Partition, flow_id: FlowId, downstream_execution_id: ExecutionId, upstream_execution_id: ExecutionId, edge_id: EdgeId, lane_id: LaneId, current_attempt_index: AttemptIndex, upstream_outcome: String, now: TimestampMs, ) -> Self
Construct a ResolveDependencyArgs. Added alongside
#[non_exhaustive] per
feedback_non_exhaustive_needs_constructor.
Trait Implementations§
Source§impl Clone for ResolveDependencyArgs
impl Clone for ResolveDependencyArgs
Source§fn clone(&self) -> ResolveDependencyArgs
fn clone(&self) -> ResolveDependencyArgs
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more