convenient templated base class for user-defined actors More...
#include <actor.hpp>
Public Attributes | |
ActorBase::Handler | backends [HandlersCount] |
Additional Inherited Members | |
![]() | |
using | GenericMethod = void(ActorBase::*)(Message &) |
alias for generic message handler | |
using | MethodEntry = void(*)(Message &, ActorBase &, Handler &) |
alias for method entry, enough to actually perfrom message delivery | |
![]() | |
ActorBase (const ActorBase &)=delete | |
ActorBase (ActorBase &&)=delete | |
virtual void | initialize () |
virtual uint8_t | bind (ActorId initial_value, SupervisorBase *supervisor, Context &context) |
ActorId | get_id () const |
State | get_state () const |
FailPolicy | get_fail_policy () const |
void | set_fail_policy (FailPolicy value) |
void | stop () |
template<typename Ctx > | |
EventId | add_event (Duration delta, Callback callback, void *data) |
void | cancel_event (EventId event_id) |
template<typename Ctx , typename MessageType , typename... Args> | |
bool | send (size_t queue_index, Args... args) |
emplaces new message into appropriate queue More... | |
template<typename Method > | |
void | subscribe (Method method) |
![]() | |
static constexpr size_t | min_handlers_amount = 1 |
![]() | |
ActorBase (char *backends, size_t backends_count) | |
virtual void | advance_init () |
virtual void | advance_start () |
virtual void | advance_stop () |
![]() | |
ActorId | id |
ActorId | mask |
State | state = State::off |
SupervisorBase * | supervisor |
FailPolicy | fail_policy |
convenient templated base class for user-defined actors
ActorBase::Handler rotor_light::Actor< HandlersCount >::backends[HandlersCount] |
storage of message handlers