pub struct DependencyGraph { /* private fields */ }Expand description
Dependency graph for tracking workflow dependencies.
Implementations§
Source§impl DependencyGraph
impl DependencyGraph
Sourcepub fn add_dependency(&mut self, workflow_id: String, dependency_id: String)
pub fn add_dependency(&mut self, workflow_id: String, dependency_id: String)
Add a dependency edge.
Sourcepub fn remove_dependency(&mut self, workflow_id: &str, dependency_id: &str)
pub fn remove_dependency(&mut self, workflow_id: &str, dependency_id: &str)
Remove a dependency edge.
Sourcepub fn get_dependencies(&self, workflow_id: &str) -> Option<&HashSet<String>>
pub fn get_dependencies(&self, workflow_id: &str) -> Option<&HashSet<String>>
Get all dependencies for a workflow.
Sourcepub fn get_dependents(&self, workflow_id: &str) -> Option<&HashSet<String>>
pub fn get_dependents(&self, workflow_id: &str) -> Option<&HashSet<String>>
Get all workflows that depend on a given workflow.
Sourcepub fn get_execution_order(&self) -> Result<Vec<String>>
pub fn get_execution_order(&self) -> Result<Vec<String>>
Get execution order using topological sort.
Trait Implementations§
Source§impl Debug for DependencyGraph
impl Debug for DependencyGraph
Auto Trait Implementations§
impl Freeze for DependencyGraph
impl RefUnwindSafe for DependencyGraph
impl Send for DependencyGraph
impl Sync for DependencyGraph
impl Unpin for DependencyGraph
impl UnsafeUnpin for DependencyGraph
impl UnwindSafe for DependencyGraph
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