A11 (C++ runtime)
Native C++ implementation of the A11 action and streaming runtime
Loading...
Searching...
No Matches
async_node.h File Reference

A11's unit of streaming state: the AsyncNode. More...

#include <cstddef>
#include <cstdint>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
#include <absl/base/thread_annotations.h>
#include <absl/status/status.h>
#include <absl/status/statusor.h>
#include <absl/time/time.h>
#include "a11/concurrency/executor.h"
#include "a11/concurrency/future.h"
#include "a11/data/serialization.h"
#include "a11/data/types.h"
#include "a11/stores/chunk_store.h"
#include "a11/stores/chunk_store_reader.h"
#include "a11/stores/chunk_store_writer.h"
#include "thread/boost_primitives.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  a11::nodes::AsyncNode
 An asynchronous, ordered stream of chunks read from and written to A11. More...
 

Namespaces

namespace  a11
 
namespace  a11::net
 
namespace  a11::nodes
 

Detailed Description

A11's unit of streaming state: the AsyncNode.

An AsyncNode is a single, ordered sequence of chunks (keyed by sequence number) that one side writes and another side reads. It is backed by a stores::ChunkStore – the ordered storage boundary the reader and writer stream through – and can optionally be mirrored across a net::WireStream to a remote peer.

Nodes are how the input and output ports of an actions::Action carry data, and how an agent streams partial results (tokens, audio frames, tool calls) to its caller before the work is finished. Values enter as raw data::Chunk / data::NodeFragment objects or as arbitrary typed values encoded through the node's data::SerializationRegistry, and leave the reader end deserialized.