pub struct Coordinator<'a> { /* private fields */ }Expand description
The Coordinator is responsible for coordinating the dispatching of jobs (consisting
of a set of Input values and an Implementation of a Function) for execution,
gathering the resulting Outputs and distributing output values to other connected function’s
Inputs.
It accepts Flows to be executed in the form of a Submission struct that has the required
information to execute the flow.
Implementations§
Source§impl<'a> Coordinator<'a>
impl<'a> Coordinator<'a>
Sourcepub fn new(dispatcher: Dispatcher) -> Result<Self>
pub fn new(dispatcher: Dispatcher) -> Result<Self>
Create a new coordinator with num_threads local executor threads
Sourcepub fn execute_flow(&mut self, submission: Submission) -> Result<()>
pub fn execute_flow(&mut self, submission: Submission) -> Result<()>
Execute a flow by looping while there are jobs to be processed in an inner loop. There is an outer loop for the case when you are using the debugger, to allow entering the debugger when the flow ends and at any point resetting all the state and starting execution again from the initial state
Auto Trait Implementations§
impl<'a> Freeze for Coordinator<'a>
impl<'a> RefUnwindSafe for Coordinator<'a>
impl<'a> !Send for Coordinator<'a>
impl<'a> !Sync for Coordinator<'a>
impl<'a> Unpin for Coordinator<'a>
impl<'a> UnwindSafe for Coordinator<'a>
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more