pub struct EffectiveExecutionGraph {
pub source: ExecutionGraphSource,
pub nodes: HashMap<String, ExecutionGraphNode>,
pub edges: Vec<ExecutionGraphEdge>,
pub entry: Option<String>,
}Expand description
Fully materialized execution graph used by the runtime scheduler.
Fields§
§source: ExecutionGraphSourcePlanner or fallback source that produced the graph.
nodes: HashMap<String, ExecutionGraphNode>Node map keyed by node id.
edges: Vec<ExecutionGraphEdge>Directed edges between nodes.
entry: Option<String>Optional entry node selected for execution start.
Implementations§
Source§impl EffectiveExecutionGraph
impl EffectiveExecutionGraph
Sourcepub fn add_node(&mut self, node: ExecutionGraphNode) -> Result<()>
pub fn add_node(&mut self, node: ExecutionGraphNode) -> Result<()>
Adds a node and rejects duplicate ids.
Sourcepub fn add_edge(&mut self, edge: ExecutionGraphEdge) -> Result<()>
pub fn add_edge(&mut self, edge: ExecutionGraphEdge) -> Result<()>
Adds an edge after verifying that both endpoint nodes exist.
Sourcepub fn get_node(&self, node_id: &str) -> Option<&ExecutionGraphNode>
pub fn get_node(&self, node_id: &str) -> Option<&ExecutionGraphNode>
Returns one node by id.
Sourcepub fn outgoing_edges(
&self,
node_id: &str,
) -> impl Iterator<Item = &ExecutionGraphEdge> + '_
pub fn outgoing_edges( &self, node_id: &str, ) -> impl Iterator<Item = &ExecutionGraphEdge> + '_
Iterates over outgoing edges for one node.
Sourcepub fn incoming_count(&self, node_id: &str) -> usize
pub fn incoming_count(&self, node_id: &str) -> usize
Counts incoming edges for one node.
Trait Implementations§
Source§impl Clone for EffectiveExecutionGraph
impl Clone for EffectiveExecutionGraph
Source§fn clone(&self) -> EffectiveExecutionGraph
fn clone(&self) -> EffectiveExecutionGraph
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EffectiveExecutionGraph
impl Debug for EffectiveExecutionGraph
Source§impl Default for EffectiveExecutionGraph
impl Default for EffectiveExecutionGraph
Source§fn default() -> EffectiveExecutionGraph
fn default() -> EffectiveExecutionGraph
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for EffectiveExecutionGraph
impl<'de> Deserialize<'de> for EffectiveExecutionGraph
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for EffectiveExecutionGraph
impl RefUnwindSafe for EffectiveExecutionGraph
impl Send for EffectiveExecutionGraph
impl Sync for EffectiveExecutionGraph
impl Unpin for EffectiveExecutionGraph
impl UnsafeUnpin for EffectiveExecutionGraph
impl UnwindSafe for EffectiveExecutionGraph
Blanket Implementations§
Source§impl<T> AnyExt for T
impl<T> AnyExt for T
Source§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
Attempts to downcast this to
T behind referenceSource§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
Attempts to downcast this to
T behind mutable referenceSource§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
Attempts to downcast this to
T behind Rc pointerSource§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
Attempts to downcast this to
T behind Arc pointerSource§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
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