|
A11 (C++ runtime)
Native C++ implementation of the A11 streaming action runtime
|
#include "a11/flow/runtime.h"#include <algorithm>#include <atomic>#include <deque>#include <functional>#include <memory>#include <optional>#include <string>#include <string_view>#include <utility>#include <vector>#include <absl/base/thread_annotations.h>#include <absl/container/flat_hash_map.h>#include <absl/container/flat_hash_set.h>#include <absl/functional/any_invocable.h>#include <absl/functional/function_ref.h>#include <absl/status/status.h>#include <absl/status/status_macros.h>#include <absl/status/statusor.h>#include <absl/strings/ascii.h>#include <absl/strings/match.h>#include <absl/strings/str_cat.h>#include <absl/strings/str_join.h>#include <absl/strings/str_split.h>#include <absl/time/clock.h>#include <absl/time/time.h>#include <absl/types/span.h>#include "a11/actions/registry.h"#include "a11/concurrency/executor.h"#include "a11/concurrency/future.h"#include "a11/concurrency/parallel.h"#include "a11/data/serialization.h"#include "a11/data/types.h"#include "a11/flow/vocabulary.h"#include "a11/nodes/async_node.h"#include "a11/nodes/node_map.h"#include "a11/stores/chunk_store_writer.h"#include "a11/utf8.h"#include "thread/boost_primitives.h"Namespaces | |
| namespace | a11 |
| namespace | a11::flow |
Functions | |
| absl::StatusOr< actions::ActionSchema > | a11::flow::FlowSchema (const FlowPlan &plan) |
| The [actions::ActionSchema] a flow presents. | |
| absl::StatusOr< actions::ActionHandler > | a11::flow::MakeHandler (std::shared_ptr< const CompiledProgram > program, std::string_view flow, RunOptions options={}) |
The action handler that runs one flow of program. | |
| absl::StatusOr< actions::ActionHandler > | a11::flow::MakeEntryHandler (std::shared_ptr< const CompiledProgram > program, RunOptions options={}) |
| The action handler that runs the program's entry flow. | |
| bool dropped = false |
| bool ended = false |
| absl::Status error |
| std::deque<ItemPtr> items |
| std::vector<NodePtr> unclosed |
Ports nobody writes and outputs nobody reads: closed and drained for the callee once it has started.
| std::vector<NodePtr> undrained |