[][src]Struct tempest::pipeline::Pipeline

pub struct Pipeline {
    pub root: &'static str,
    pub tasks: HashMap<&'static str, Box<dyn Task>>,
    pub ancestors: HashMap<&'static str, Vec<&'static str>>,
    pub descendants: HashMap<&'static str, Vec<&'static str>>,
    pub matrix: Vec<(&'static str, &'static str, bool)>,
}

Fields

root: &'static str

The root task name of our pipeline Auto-assigned when calling .add with the first Task

tasks: HashMap<&'static str, Box<dyn Task>>

store all tasks by task name

ancestors: HashMap<&'static str, Vec<&'static str>>

store all task names upstream from Task name

descendants: HashMap<&'static str, Vec<&'static str>>

store all task names downstream from key

matrix: Vec<(&'static str, &'static str, bool)>

Master DAG matrix of all tasks. This is cloned per message id so we can keep track of message states within the pipeline

Methods

impl Pipeline[src]

pub fn runtime(&self) -> Self[src]

Important traits for Vec<u8>
pub fn names(&self) -> Vec<String>[src]

pub fn remove(&mut self, name: &str) -> Option<Box<dyn Task>>[src]

pub fn get(&self, name: &str) -> Option<&dyn Task>[src]

pub fn get_mut(&mut self, name: &str) -> Option<&mut dyn Task>[src]

pub fn root(self, name: &'static str) -> Self[src]

Set the root Task name of our pipeline

pub fn task<T: Task + 'static>(self, task: T) -> Self[src]

Adds a Task to the pipeline

pub fn edge(self, left: &'static str, right: &'static str) -> Self[src]

Defines an ancestor (left) Task name and descendent (right) Task name edge

pub fn build(self) -> Self[src]

A convenience method for return self

pub fn to_graphviz(&self) -> String[src]

Useful for debugging pipeline Task relationships Generate graphviz compatible string for http://www.webgraphviz.com/

Trait Implementations

impl Default for Pipeline[src]

Auto Trait Implementations

impl !Send for Pipeline

impl Unpin for Pipeline

impl !Sync for Pipeline

impl !UnwindSafe for Pipeline

impl !RefUnwindSafe for Pipeline

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Erased for T

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,