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
debug_command
Provides the DebugCommand enum for commands from debug client to debug server
debugger_handler
The DebuggerHandler trait defines methods a a client must implement in order to handle the interaction between a client and the debugger (in the Coordinator)
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
run_state
Provides RunState that tracks the current runtime state, used by Coordinator
services
Provides well-known service names used across multiple binary crates
submission_handler
The SubmissionHandler trait defines methods a client must implement in order to handle submissions from a client