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

Bounded packetisation and reassembly for binary channel transports. More...

#include <cstddef>
#include <cstdint>
#include <optional>
#include <string>
#include <string_view>
#include <vector>
#include <absl/base/nullability.h>
#include <absl/status/status.h>
#include <absl/status/statusor.h>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  a11::net::BytePacket
 Parsed packet metadata plus the owned piece of application payload. More...
 
struct  a11::net::ByteChunkingOptions
 Bounds packet size and incomplete-message memory during reassembly. More...
 
class  a11::net::ByteReassembler
 Bounded, thread-safe reassembly for interleaved binary messages. More...
 

Namespaces

namespace  a11
 
namespace  a11::net
 

Enumerations

enum class  a11::net::BytePacketType : std::uint8_t { a11::net::kCompleteBytes = 0x00 , a11::net::kByteChunk = 0x01 , a11::net::kLengthSuffixedByteChunk = 0x02 }
 Packet shapes in the Action Engine byte-chunking wire format. More...
 

Functions

absl::StatusOr< std::vector< std::string > > a11::net::SplitBytesIntoPackets (std::string_view bytes, std::uint64_t transient_id, size_t packet_size)
 Split bytes into Action Engine packets with fixed little-endian suffixes.
 
absl::StatusOr< BytePacketa11::net::ParseBytePacket (std::string_view packet)
 Parse and validate one packet without retaining the input view.
 

Detailed Description

Bounded packetisation and reassembly for binary channel transports.

WebSocket and WebRTC channels use this Action Engine-compatible format so a large WireMessage cannot monopolise a channel or exceed transport limits.