pub struct WorkflowDag {
pub id: String,
pub name: String,
pub nodes: HashMap<String, WorkflowNode>,
pub edges: Vec<WorkflowEdge>,
}Expand description
Directed acyclic graph definition used by collaboration workflows.
Fields§
§id: StringStable workflow identifier.
name: StringHuman-readable workflow name.
nodes: HashMap<String, WorkflowNode>Nodes keyed by node identifier.
edges: Vec<WorkflowEdge>Directed edges describing dependencies.
Implementations§
Source§impl WorkflowDag
impl WorkflowDag
Sourcepub fn new(id: String, name: String) -> WorkflowDag
pub fn new(id: String, name: String) -> WorkflowDag
Creates an empty DAG with the given identifier and name.
Sourcepub fn add_node(&mut self, node: WorkflowNode)
pub fn add_node(&mut self, node: WorkflowNode)
Inserts or replaces a node by its identifier.
Sourcepub fn add_edge(&mut self, edge: WorkflowEdge)
pub fn add_edge(&mut self, edge: WorkflowEdge)
Appends a directed edge.
Sourcepub fn get_entry_nodes(&self) -> Vec<&String>
pub fn get_entry_nodes(&self) -> Vec<&String>
Returns node identifiers that have no incoming edges.
Trait Implementations§
Source§impl Clone for WorkflowDag
impl Clone for WorkflowDag
Source§fn clone(&self) -> WorkflowDag
fn clone(&self) -> WorkflowDag
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 WorkflowDag
impl Debug for WorkflowDag
Source§impl<'de> Deserialize<'de> for WorkflowDag
impl<'de> Deserialize<'de> for WorkflowDag
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<WorkflowDag, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<WorkflowDag, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for WorkflowDag
impl Serialize for WorkflowDag
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for WorkflowDag
impl RefUnwindSafe for WorkflowDag
impl Send for WorkflowDag
impl Sync for WorkflowDag
impl Unpin for WorkflowDag
impl UnsafeUnpin for WorkflowDag
impl UnwindSafe for WorkflowDag
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