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

Holds and classifies message handlers on behalf of supervisor. More...

#include <subscription.h>

Classes

struct  joint_handlers_t
 pair internal and external handler_t More...
 

Public Types

using message_type_t = const void *
 alias for message type (i.e. stringized typeid)
 
using handlers_t = std::vector< handler_base_t * >
 vector of handler pointers
 

Public Member Functions

subscription_info_ptr_t materialize (const subscription_point_t &point) noexcept
 upgrades subscription_point_t into subscription_info smart pointer
 
void update (subscription_point_t &point, handler_ptr_t &new_handler) noexcept
 sets new handler for the subscription point
 
void forget (const subscription_info_ptr_t &info) noexcept
 remove subscription_info from internal_infos and mine_handlers
 
const joint_handlers_tget_recipients (const message_base_t &message) const noexcept
 returns list of all handlers for the message (internal and external)
 
template<typename T >
auto & access () noexcept
 generic non-public fields accessor
 

Detailed Description

Holds and classifies message handlers on behalf of supervisor.

The handlers are classified by message type and by the source supervisor, i.e. whether the handler's supervisor is external or not.

Member Function Documentation

◆ materialize()

subscription_info_ptr_t rotor::subscription_t::materialize ( const subscription_point_t point)
noexcept

upgrades subscription_point_t into subscription_info smart pointer

Performs the classification of the point, i.e. whether handler and address are internal or external, records the state subscription state and records the handler among address handlers.


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