9#include "plugin_base.h"
11namespace rotor::plugin {
30 const std::type_index &
identity() const noexcept override;
42 void set_identity(std::string_view name,
bool append_addr = true) noexcept;
intrusive_ptr_t< address_t > address_ptr_t
intrusive pointer for address
Definition address.hpp:57
universal primitive of concurrent computation
Definition actor_base.h:47
create actor's addresses
Definition address_maker.h:24
virtual address_ptr_t create_address() noexcept
creates additional actor address (on demand)
void deactivate() noexcept override
deactivates plugin from an actor
plugin_base_t()=default
default plugin ctor
static const std::type_index class_identity
Definition address_maker.h:28
void set_identity(std::string_view name, bool append_addr=true) noexcept
smart identity setter
virtual void generate_identity() noexcept
const std::type_index & identity() const noexcept override
returns pointer, which uniquely identifiess plugin type
void activate(actor_base_t *actor) noexcept override
invoked by actor upon initialization.
plugin_base_t()=default
default plugin ctor
actor_base_t * actor
non-owning actor pointer
Definition plugin_base.h:179