9#include "plugin_base.h"
11namespace rotor::plugin {
25 const std::type_index &
identity() const noexcept override;
34 template <typename Handler>
46 bool configured = false;
namespace for rotor core messages (which just transform payloads)
Definition messages.hpp:317
intrusive_ptr_t< address_t > address_ptr_t
intrusive pointer for address
Definition address.hpp:57
intrusive_ptr_t< subscription_info_t > subscription_info_ptr_t
intrusive pointer for subscription_info_t
Definition subscription_point.h:121
universal primitive of concurrent computation
Definition actor_base.h:47
plugin_base_t()=default
default plugin ctor
actor_base_t * actor
non-owning actor pointer
Definition plugin_base.h:179
allows custom (actor) subscriptions and it is responsible for starting actor when it receives message...
Definition starter.h:19
const std::type_index & identity() const noexcept override
returns pointer, which uniquely identifiess plugin type
bool handle_init(message::init_request_t *) noexcept override
polls plugin, whether it is done with initialization
void handle_start(message::start_trigger_t *message) noexcept override
polls plugin, whether it is done with start
plugin_base_t()=default
default plugin ctor
subscription_info_ptr_t subscribe_actor(Handler &&handler) noexcept
subscribes actor handler on main actor address
Definition supervisor.h:429
void deactivate() noexcept override
deactivates plugin from an actor
static const std::type_index class_identity
Definition starter.h:23
void activate(actor_base_t *actor) noexcept override
invoked by actor upon initialization.
bool handle_subscription(message::subscription_t &message) noexcept override
polls plugin, whether it is done with subscription
void on_start(message::start_trigger_t &message) noexcept
start message reaction
list of subscription_info_ptr_t with possibility to find via subscription_point_t
Definition subscription_point.h:126
Holds and classifies message handlers on behalf of supervisor.
Definition subscription.h:30