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.