|
A11 (C++ runtime)
Native C++ implementation of the A11 action and streaming runtime
|
A11's transport abstraction: the bidirectional WireStream channel and the options/callbacks that drive it. More...
#include <cstddef>#include <functional>#include <optional>#include <string>#include <absl/base/nullability.h>#include <absl/status/status.h>#include <absl/time/time.h>#include "a11/concurrency/future.h"#include "a11/data/types.h"Go to the source code of this file.
Classes | |
| struct | a11::net::WireStreamOptions |
| Buffering, sizing, and deadline limits for a WireStream endpoint. More... | |
| class | a11::net::WireStream |
| A bidirectional, message-oriented channel between two A11 endpoints. More... | |
Namespaces | |
| namespace | a11 |
| namespace | a11::net |
Typedefs | |
| using | a11::net::OnMessage = std::function< a11::Task(std::optional< data::WireMessage > message)> |
Called for each inbound message; std::nullopt signals the peer half-closed. | |
| using | a11::net::OnDone = std::function< a11::Task()> |
| Called once, when the stream has fully finished (cleanly or via abort). | |
Functions | |
| absl::StatusOr< data::ByteMap > | a11::net::NormalizeWireHeaders (data::ByteMap headers) |
| Validate and case-normalise a wire header map, returning the normalised copy or a non-OK status if a header name/value is invalid. | |
Variables | |
| constexpr std::string_view | a11::net::kAbortStatusHeader = "x-a11-abort-status" |
| Trailer key under which an aborting endpoint reports its terminal status. | |
| constexpr size_t | a11::net::kMaxSingleMessageSize = 32 * 1024 * 1024 |
| Hard ceiling on the size of a single reassembled inbound WireMessage. | |
A11's transport abstraction: the bidirectional WireStream channel and the options/callbacks that drive it.
A WireStream carries data::WireMessage values between two endpoints. Everything above it – AsyncNode mirroring, Session multiplexing, remote action dispatch – is written against this one interface, so the concrete transport (in-process, WebSocket/HTTP2, HTTP SSE, WebRTC) is a pluggable detail and a deliberate extension point.