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

Public Member Functions

 State (std::string value_id, data::ByteMap value_headers, SessionOptions value_options, std::shared_ptr< nodes::NodeMap > nodes, std::shared_ptr< actions::ActionRegistry > registry, std::shared_ptr< actions::ActionLimiter > root, std::shared_ptr< actions::ActionLimiter > nested, OnSessionStreamMessage message_callback, OnSessionStreamDone done_callback)
 
 ~State ()
 
std::shared_ptr< nodes::NodeMap > node_map ABSL_GUARDED_BY (mu)
 
std::shared_ptr< actions::ActionRegistry > action_registry ABSL_GUARDED_BY (mu)
 
Phase phase ABSL_GUARDED_BY (mu)
 
absl::Status status ABSL_GUARDED_BY (mu)
 
bool remote_closed ABSL_GUARDED_BY (mu)
 
bool destroyed ABSL_GUARDED_BY (mu)
 
absl::Time deadline ABSL_GUARDED_BY (mu)
 
std::optional< absl::Time > no_stream_since ABSL_GUARDED_BY (mu)
 
absl::flat_hash_map< std::string, std::shared_ptr< StreamState > > streams ABSL_GUARDED_BY (mu)
 
absl::flat_hash_map< net::WireStream *, std::shared_ptr< StreamState > > stream_states ABSL_GUARDED_BY (mu)
 
std::vector< net::WireStream * > stream_order ABSL_GUARDED_BY (mu)
 
size_t round_robin_index ABSL_GUARDED_BY (mu)=0
 
size_t buffered_messages ABSL_GUARDED_BY (mu)=0
 
size_t buffered_bytes ABSL_GUARDED_BY (mu)=0
 
absl::flat_hash_map< std::string, std::shared_ptr< actions::Action > > actions ABSL_GUARDED_BY (mu)
 
std::shared_ptr< thread::PermanentEvent > changed ABSL_GUARDED_BY (mu)
 
obs::Span span ABSL_GUARDED_BY (mu)
 

Public Attributes

thread::Mutex mu
 
const std::string id
 
const data::ByteMap headers
 
const SessionOptions options
 
const OnSessionStreamMessage on_message
 
const OnSessionStreamDone on_done
 
const std::shared_ptr< actions::ActionLimiterroot_limiter
 
const std::shared_ptr< actions::ActionLimiternested_limiter
 
const std::shared_ptr< a11::Promise< a11::Unit > > done_promise
 
const a11::Task done_future
 

Constructor & Destructor Documentation

◆ State()

a11::service::Session::State::State ( std::string  value_id,
data::ByteMap  value_headers,
SessionOptions  value_options,
std::shared_ptr< nodes::NodeMap nodes,
std::shared_ptr< actions::ActionRegistry registry,
std::shared_ptr< actions::ActionLimiter root,
std::shared_ptr< actions::ActionLimiter nested,
OnSessionStreamMessage  message_callback,
OnSessionStreamDone  done_callback 
)
inline

◆ ~State()

a11::service::Session::State::~State ( )
inline

Member Function Documentation

◆ ABSL_GUARDED_BY() [1/17]

std::shared_ptr< nodes::NodeMap > node_map a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [2/17]

std::shared_ptr< actions::ActionRegistry > action_registry a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [3/17]

Phase phase a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [4/17]

absl::Status status a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [5/17]

bool remote_closed a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [6/17]

bool destroyed a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [7/17]

absl::Time deadline a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [8/17]

std::optional< absl::Time > no_stream_since a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [9/17]

absl::flat_hash_map< std::string, std::shared_ptr< StreamState > > streams a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [10/17]

absl::flat_hash_map< net::WireStream *, std::shared_ptr< StreamState > > stream_states a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [11/17]

std::vector< net::WireStream * > stream_order a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [12/17]

absl::flat_hash_map< std::string, std::shared_ptr< actions::Action > > actions a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [13/17]

std::shared_ptr< thread::PermanentEvent > changed a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [14/17]

obs::Span span a11::service::Session::State::ABSL_GUARDED_BY ( mu  )

◆ ABSL_GUARDED_BY() [15/17]

size_t round_robin_index a11::service::Session::State::ABSL_GUARDED_BY ( mu  )
pure virtual

◆ ABSL_GUARDED_BY() [16/17]

size_t buffered_messages a11::service::Session::State::ABSL_GUARDED_BY ( mu  )
pure virtual

◆ ABSL_GUARDED_BY() [17/17]

size_t buffered_bytes a11::service::Session::State::ABSL_GUARDED_BY ( mu  )
pure virtual

Member Data Documentation

◆ done_future

const a11::Task a11::service::Session::State::done_future

◆ done_promise

const std::shared_ptr<a11::Promise<a11::Unit> > a11::service::Session::State::done_promise

◆ headers

const data::ByteMap a11::service::Session::State::headers

◆ id

const std::string a11::service::Session::State::id

◆ mu

thread::Mutex a11::service::Session::State::mu
mutable

◆ nested_limiter

const std::shared_ptr<actions::ActionLimiter> a11::service::Session::State::nested_limiter

◆ on_done

const OnSessionStreamDone a11::service::Session::State::on_done

◆ on_message

const OnSessionStreamMessage a11::service::Session::State::on_message

◆ options

const SessionOptions a11::service::Session::State::options

◆ root_limiter

const std::shared_ptr<actions::ActionLimiter> a11::service::Session::State::root_limiter

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