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