Crate flowrlib

source ·
Expand description

flowrlib is the runtime library for flow execution. This can be used to produce a flow runner, such as the flowr command line runner.

It is responsible for reading a flow’s compiled FlowManifest, loading the required libraries using LibraryManifests files and then coordinating the execution of functions by dispatching Jobs (that include a reference to the function’s Implementations and the input values required to run) then gathering the Result and passing the output value to other connected functions in the flow graph

Modules

Provides Block that represents a block imposed on a function due to destination being busy
Provides Coordinator responsible for coordinating the execution of flows submitted to it
Provides Dispatcher used by the Coordinator to dispatch Jobs for execution by an Executor
Holds all Error types, and other modules in this crate will use errors::*; to get access to everything error_chain creates.
Provides Executor that receives jobs for execution, executes them and returns results
Provides methods to get information about this library
Provides Job that holds jobs before and after their execution
Provides a number of traits that define methods used in protocols between server and clients that a client must implement. Such as [DebuggerProtocol][protocols::DebuggerProtocol] and SubmissionProtocol
Provides RunState that tracks the current runtime state, used by Coordinator
Provides well-known service names used across multiple binary crates