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,
submitter: &'a mut dyn SubmissionHandler,
debug_server: &'a mut dyn DebuggerHandler,
) -> Result<Self>
pub fn new( dispatcher: Dispatcher, submitter: &'a mut dyn SubmissionHandler, debug_server: &'a mut dyn DebuggerHandler, ) -> Result<Self>
Create a new coordinator with num_threads local executor threads
Sourcepub fn submission_loop(&mut self, loop_forever: bool) -> Result<()>
pub fn submission_loop(&mut self, loop_forever: bool) -> Result<()>
Enter a loop - waiting for a submission from the client, or disconnection of the client
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
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>
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>
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