1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//! `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][flowcore::model::runtime_function::RuntimeFunction]
//! by dispatching [Jobs][job::Job] (that include a reference to the function's
//! [Implementations][flowcore::Implementation] and the input values required to run) then
//! gathering the Result and passing the output value to other connected functions in the
//! [flow graph][flowcore::model::flow_manifest::FlowManifest]
/// Provides [Block][block::Block] that represents a block imposed on a function due to destination being busy
/// Provides [Coordinator][coordinator::Coordinator] responsible for coordinating the execution of flows submitted to it
/// Provides the [DebugCommand][debug_command::DebugCommand] enum for commands from debug client to debug server
/// Provides [Dispatcher][dispatcher::Dispatcher] used by the [Coordinator][coordinator::Coordinator]
/// to dispatch [Jobs][job::Job] for execution by an [Executor][executor::Executor]
/// Holds all [Error][errors::Error] types, and other modules in this crate will `use errors::*;`
/// to get access to everything `error_chain` creates.
/// Provides [Executor][executor::Executor] that receives jobs for execution, executes them and returns results
/// Provides methods to get information about this library
/// Provides [Job][job::Job] that holds jobs before and after their execution
/// The [SubmissionHandler][submission_handler::SubmissionHandler] trait defines methods a client
/// must implement in order to handle submissions from a client
/// The [DebuggerHandler][debugger_handler::DebuggerHandler] trait defines methods a a client must
/// implement in order to handle the interaction between a client and the debugger (in the Coordinator)
/// Provides [RunState][run_state::RunState] that tracks the current runtime state,
/// used by [Coordinator][coordinator::Coordinator]
/// Provides well-known service names used across multiple binary crates
/// `wasmtime` module contains a number of implementations of the wasm execution