A11 (C++ runtime)
Native C++ implementation of the A11 action and streaming runtime
Loading...
Searching...
No Matches
a11::service::SessionOptions Struct Reference

Limits and timeouts governing a Session's buffering, concurrency, and lifetime. More...

#include <cpp/a11/service/session.h>

Public Member Functions

absl::Status Validate () const
 Validate the option values.
 

Public Attributes

size_t max_buffered_messages_total = 256
 Maximum number of messages buffered across all streams.
 
size_t max_buffered_messages_per_stream = 32
 Maximum number of messages buffered per stream.
 
size_t max_concurrent_root_actions = 32
 Maximum number of concurrently running root (top-level) actions.
 
size_t max_concurrent_nested_actions = 128
 Maximum number of concurrently running nested (child) actions.
 
size_t max_single_message_size = kMaxSingleMessageSize
 Maximum size in bytes of a single wire message.
 
size_t max_buffered_bytes_total = 32 * 1024 * 1024
 Maximum total bytes buffered across all streams.
 
size_t max_buffered_bytes_per_stream = 4 * 1024 * 1024
 Maximum bytes buffered per stream.
 
absl::Duration no_stream_timeout = absl::Seconds(30)
 How long the session waits with no active stream before finishing.
 
absl::Time deadline = absl::InfiniteFuture()
 Absolute time after which the session is aborted.
 

Detailed Description

Limits and timeouts governing a Session's buffering, concurrency, and lifetime.

These bounds cap how much a session buffers (per stream and in aggregate, by message count and by bytes), how many actions may run concurrently, and when the session gives up. Defaults are tuned for typical agent workloads.

Member Function Documentation

◆ Validate()

absl::Status a11::service::SessionOptions::Validate ( ) const

Validate the option values.

Returns
OK if the configuration is valid, otherwise an error status.

Member Data Documentation

◆ deadline

absl::Time a11::service::SessionOptions::deadline = absl::InfiniteFuture()

Absolute time after which the session is aborted.

◆ max_buffered_bytes_per_stream

size_t a11::service::SessionOptions::max_buffered_bytes_per_stream = 4 * 1024 * 1024

Maximum bytes buffered per stream.

◆ max_buffered_bytes_total

size_t a11::service::SessionOptions::max_buffered_bytes_total = 32 * 1024 * 1024

Maximum total bytes buffered across all streams.

◆ max_buffered_messages_per_stream

size_t a11::service::SessionOptions::max_buffered_messages_per_stream = 32

Maximum number of messages buffered per stream.

◆ max_buffered_messages_total

size_t a11::service::SessionOptions::max_buffered_messages_total = 256

Maximum number of messages buffered across all streams.

◆ max_concurrent_nested_actions

size_t a11::service::SessionOptions::max_concurrent_nested_actions = 128

Maximum number of concurrently running nested (child) actions.

◆ max_concurrent_root_actions

size_t a11::service::SessionOptions::max_concurrent_root_actions = 32

Maximum number of concurrently running root (top-level) actions.

◆ max_single_message_size

size_t a11::service::SessionOptions::max_single_message_size = kMaxSingleMessageSize

Maximum size in bytes of a single wire message.

◆ no_stream_timeout

absl::Duration a11::service::SessionOptions::no_stream_timeout = absl::Seconds(30)

How long the session waits with no active stream before finishing.


The documentation for this struct was generated from the following files: