pub struct ExecutionGraph { /* private fields */ }Expand description
Validated execution-group dependency graph with one authoritative output.
Implementations§
Source§impl ExecutionGraph
impl ExecutionGraph
Sourcepub fn new(
groups: Vec<ExecutionGroupSpec>,
output: impl AsRef<str>,
) -> Result<Self, ExecutionGraphError>
pub fn new( groups: Vec<ExecutionGroupSpec>, output: impl AsRef<str>, ) -> Result<Self, ExecutionGraphError>
Validates names, dependency references, acyclicity, and output reachability.
Sourcepub fn chain(
ids: impl IntoIterator<Item = impl Into<String>>,
) -> Result<Self, ExecutionGraphError>
pub fn chain( ids: impl IntoIterator<Item = impl Into<String>>, ) -> Result<Self, ExecutionGraphError>
Creates a dependency chain whose final group is the output.
Sourcepub fn groups(&self) -> &[ExecutionGroupSpec]
pub fn groups(&self) -> &[ExecutionGroupSpec]
Returns group specifications in stable architecture slot order.
Sourcepub fn group_index(&self, id: &str) -> Option<usize>
pub fn group_index(&self, id: &str) -> Option<usize>
Resolves a stable execution-group identity to its architecture slot.
Sourcepub fn execution_order(&self) -> &[usize]
pub fn execution_order(&self) -> &[usize]
Returns stable topological execution slots.
Sourcepub fn dependencies(&self, group: usize) -> Option<&[usize]>
pub fn dependencies(&self, group: usize) -> Option<&[usize]>
Returns dependency slots for an architecture group slot.
Sourcepub fn dependents(&self, group: usize) -> Option<&[usize]>
pub fn dependents(&self, group: usize) -> Option<&[usize]>
Returns dependent slots in stable declaration order.
Sourcepub fn consumer_counts(&self) -> Vec<usize>
pub fn consumer_counts(&self) -> Vec<usize>
Returns one consumer count per group slot.
Trait Implementations§
Source§impl Clone for ExecutionGraph
impl Clone for ExecutionGraph
Source§fn clone(&self) -> ExecutionGraph
fn clone(&self) -> ExecutionGraph
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ExecutionGraph
impl Debug for ExecutionGraph
impl Eq for ExecutionGraph
Source§impl PartialEq for ExecutionGraph
impl PartialEq for ExecutionGraph
impl StructuralPartialEq for ExecutionGraph
Auto Trait Implementations§
impl Freeze for ExecutionGraph
impl RefUnwindSafe for ExecutionGraph
impl Send for ExecutionGraph
impl Sync for ExecutionGraph
impl Unpin for ExecutionGraph
impl UnsafeUnpin for ExecutionGraph
impl UnwindSafe for ExecutionGraph
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