rotor
Event loop friendly C++ actor micro-framework
 
Loading...
Searching...
No Matches
rotor::subscription_info_t Struct Reference

subscription_point_t with extended information (e.g. state) More...

#include <subscription_point.h>

Inheritance diagram for rotor::subscription_info_t:
rotor::subscription_point_t

Public Types

enum  state_t { SUBSCRIBING , ESTABLISHED , UNSUBSCRIBING }
 subscription info state (subscribing, established, unsubscribing
 

Public Member Functions

 subscription_info_t (const subscription_point_t &point, bool internal_address_, bool internal_handler_, state_t state_) noexcept
 ctor from subscription point, internal address and internal handler and state
 
bool operator== (const subscription_point_t &point) const noexcept
 uses subscription_point_t comparison
 
void tag_io () noexcept
 marks handler for blocking operations
 
template<typename T >
auto & access () noexcept
 generic non-public fields accessor
 
template<typename T , typename... Args>
auto access (Args... args) noexcept
 generic non-public methods accessor
 
- Public Member Functions inherited from rotor::subscription_point_t
 subscription_point_t (const handler_ptr_t &handler_, const address_ptr_t &address_) noexcept
 ctor from handler and related address (used for comparison)
 
 subscription_point_t (const handler_ptr_t &handler_, const address_ptr_t &address_, const actor_base_t *owner_ptr_, owner_tag_t owner_tag_) noexcept
 full ctor (handler, address, actor, and owner tag)
 
 subscription_point_t (const subscription_point_t &)=default
 copy-ctor
 
 subscription_point_t (subscription_point_t &&)=default
 move-ctor
 
bool operator== (const subscription_point_t &other) const noexcept
 partial comparison by handler and address
 

Additional Inherited Members

- Public Attributes inherited from rotor::subscription_point_t
handler_ptr_t handler
 intrusive pointer to messages' handler
 
address_ptr_t address
 intrusive pointer to address
 
const actor_base_towner_ptr
 non-owning pointer to an actor, which performs subscription
 
owner_tag_t owner_tag
 kind of ownership of the subscription point
 

Detailed Description

subscription_point_t with extended information (e.g. state)

Member Function Documentation

◆ tag_io()

void rotor::subscription_info_t::tag_io ( )
inlinenoexcept

marks handler for blocking operations

It is suitable for thread backend.


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