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_t * | get_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 | |
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.
|
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.