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>

source

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

source

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

source

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> !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> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.