rotor_light
real-time C++ actor micro-framework for embedded systems, supervisable
rotor_light::Actor< HandlersCount > Struct Template Reference

convenient templated base class for user-defined actors More...

#include <actor.hpp>

Inheritance diagram for rotor_light::Actor< HandlersCount >:
rotor_light::ActorBase

Public Attributes

ActorBase::Handler backends [HandlersCount]
 

Additional Inherited Members

- Public Types inherited from rotor_light::ActorBase
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
 
- Public Member Functions inherited from rotor_light::ActorBase
 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 Public Attributes inherited from rotor_light::ActorBase
static constexpr size_t min_handlers_amount = 1
 
- Protected Member Functions inherited from rotor_light::ActorBase
 ActorBase (char *backends, size_t backends_count)
 
virtual void advance_init ()
 
virtual void advance_start ()
 
virtual void advance_stop ()
 
- Protected Attributes inherited from rotor_light::ActorBase
ActorId id
 
ActorId mask
 
State state = State::off
 
SupervisorBasesupervisor
 
FailPolicy fail_policy
 

Detailed Description

template<size_t HandlersCount>
struct rotor_light::Actor< HandlersCount >

convenient templated base class for user-defined actors

Member Data Documentation

◆ backends

template<size_t HandlersCount>
ActorBase::Handler rotor_light::Actor< HandlersCount >::backends[HandlersCount]

storage of message handlers


The documentation for this struct was generated from the following file: