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``flowcore::model::flow_manifest::FlowManifest,
loading the required libraries using LibraryManifests``flowcore::model::lib_manifest::LibraryManifest
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
- debug_
command - Provides the
DebugCommanddebug_command::DebugCommandenum for commands from debug client to debug server - debugger_
handler - The
DebuggerHandlerdebugger_handler::DebuggerHandlertrait defines methods a a client must implement in order to handle the interaction between a client and the debugger (in the Coordinator) - discovery
- Optional mDNS-SD service discovery helpers Optional mDNS-SD service discovery helpers.
- 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 everythingerror_chaincreates. - 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
- run_
state - Provides
RunStatethat tracks the current runtime state, used byCoordinator - services
- Provides well-known service names used across multiple binary crates
- submission_
handler - The
SubmissionHandlersubmission_handler::SubmissionHandlertrait defines methods a client must implement in order to handle submissions from a client