pub struct Edge<S> {
pub source: NodeId,
pub target: NodeId,
pub condition: Condition<S>,
pub max_iterations: Option<u64>,
pub source_port: Option<PortIndex>,
pub target_port: Option<PortIndex>,
}Expand description
A declarative connection between two nodes — data, not a closure.
After source completes, the engine evaluates condition; when it matches, the edge
emits an activation token toward target. Edges carrying source_port/target_port
additionally route a pin value (dataflow profile).
Fields§
§source: NodeIdThe node this edge starts from.
target: NodeIdThe node this edge points to.
condition: Condition<S>The declarative predicate deciding whether the edge fires.
max_iterations: Option<u64>Iteration budget. Present (and validated) on cycle-closing edges: exceeding it
raises crate::error::BspError::LoopBoundExceeded.
source_port: Option<PortIndex>The output port routed by this edge (dataflow profile only).
target_port: Option<PortIndex>The input port routed by this edge (dataflow profile only).
Trait Implementations§
Auto Trait Implementations§
impl<S> !RefUnwindSafe for Edge<S>
impl<S> !UnwindSafe for Edge<S>
impl<S> Freeze for Edge<S>
impl<S> Send for Edge<S>
impl<S> Sync for Edge<S>
impl<S> Unpin for Edge<S>
impl<S> UnsafeUnpin for Edge<S>where
Condition<S>: UnsafeUnpin,
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