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§

block
Provides Block that represents a block imposed on a function due to destination being busy
coordinator
Provides Coordinator responsible for coordinating the execution of flows submitted to it
dispatcher
Provides Dispatcher used by the Coordinator to dispatch Jobs for execution by an Executor
errors
Holds all Error types, and other modules in this crate will use errors::*; to get access to everything error_chain creates.
executor
Provides Executor that receives jobs for execution, executes them and returns results
info
Provides methods to get information about this library
job
Provides Job that holds jobs before and after their execution
protocols
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
run_state
Provides RunState that tracks the current runtime state, used by Coordinator
services
Provides well-known service names used across multiple binary crates