templated message delivery plugin, to allow local message delivery be customized
More...
|
const std::type_index & | identity () const noexcept override |
| returns pointer, which uniquely identifiess plugin type
|
|
size_t | process () noexcept override |
| main messages dispatcher interface
|
|
size_t | process () noexcept |
| main messages dispatcher interface
|
|
size_t | process () noexcept |
| main messages dispatcher interface
|
|
void | activate (actor_base_t *actor) noexcept override |
| invoked by actor upon initialization.
|
|
| plugin_base_t ()=default |
| default plugin ctor
|
|
| plugin_base_t (const plugin_base_t &)=delete |
| copy ctor is not allowed
|
|
| plugin_base_t ()=default |
| default plugin ctor
|
|
| plugin_base_t (const plugin_base_t &)=delete |
| copy ctor is not allowed
|
|
virtual void | deactivate () noexcept |
| deactivates plugin from an actor
|
|
virtual bool | handle_init (message::init_request_t *message) noexcept |
| polls plugin, whether it is done with initialization
|
|
virtual bool | handle_shutdown (message::shutdown_request_t *message) noexcept |
| polls plugin, whether it is done with shutdown
|
|
virtual void | handle_start (message::start_trigger_t *message) noexcept |
| polls plugin, whether it is done with start
|
|
virtual bool | handle_subscription (message::subscription_t &message) noexcept |
| polls plugin, whether it is done with subscription
|
|
virtual bool | handle_unsubscription (const subscription_point_t &point, bool external) noexcept |
| polls plugin, whether it is done with unsubscription
|
|
virtual bool | forget_subscription (const subscription_point_t &point) noexcept |
| remove subscription point from internal storage
|
|
virtual void | forget_subscription (const subscription_info_ptr_t &info) noexcept |
| commits unsubscription via supervisor
|
|
template<typename Plugin , typename Fn > |
void | with_casted (Fn &&fn, config_phase_t desired_phase=config_phase_t::INITIALIZING) noexcept |
| invokes the callback if plugin type and phase mach
|
|
reaction_underlying_t | get_reaction () const noexcept |
| returns the current set of plugin reactions
|
|
void | reaction_on (reaction_t value) noexcept |
| turns on the specified reaction of the plugin
|
|
void | reaction_off (reaction_t value) noexcept |
| turns off the specified reaction of the plugin
|
|
template<typename T > |
auto & | access () noexcept |
| generic non-public fields accessor
|
|
|
enum | reaction_t : unsigned { INIT = 0b00000001
, SHUTDOWN = 0b00000010
, SUBSCRIPTION = 0b00000100
, START = 0b00001000
} |
| possible plugin's reactions on actor lifetime events
|
|
using | reaction_underlying_t = std::underlying_type_t< reaction_t > |
| the underlying type of reaction_t
|
|
template<typename Handler > |
subscription_info_ptr_t | subscribe (Handler &&handler, const address_ptr_t &address) noexcept |
| subscribes plugin to the custom plugin handler on the specified address
|
|
template<typename Handler > |
subscription_info_ptr_t | subscribe (Handler &&handler) noexcept |
| subscribes plugin to the custom plugin handler on the main actor address
|
|
extended_error_ptr_t | make_error (const std::error_code &ec, const extended_error_ptr_t &next={}, const message_ptr_t &request={}) noexcept |
| makes an error within the context of actor
|
|
messages_queue_t * | queue = nullptr |
| non-owning raw pointer of supervisor's messages queue
|
|
address_t * | address = nullptr |
| non-owning raw pointer to supervisor's main address
|
|
subscription_t * | subscription_map |
| non-owning raw pointer to supervisor's subscriptions map
|
|
const message_stringifier_t * | stringifier |
| non-owning raw pointer to system's stringifier
|
|
actor_base_t * | actor |
| non-owning actor pointer
|
|
template<typename LocalDelivery = local_delivery_t>
struct rotor::plugin::delivery_plugin_t< LocalDelivery >
templated message delivery plugin, to allow local message delivery be customized