ultramarine/macro.hpp

#define ULTRAMARINE_DEFINE_ACTOR(name, seq)

Macro ULTRAMARINE_DEFINE_ACTOR

#define ULTRAMARINE_DEFINE_ACTOR(name, seq)

Expands with enclosing actor internal definitions

Requires: name shall be a ultramarine::actor derived type

Requires: seq shall be a sequence of zero or more message handler (Example: (handler1)(handler2))

Example:

class simple_actor : public ultramarine::actor<simple_actor> {
public:
    seastar::future<> my_message() const;
    seastar::future<> another_message() const;

    ULTRAMARINE_DEFINE_ACTOR(simple_actor, (my_message)(another_message));
};