rotor
Event loop friendly C++ actor micro-framework
Loading...
Searching...
No Matches
forward.hpp
1#pragma once
2//
3// Copyright (c) 2019-2022 Ivan Baidakou (basiliscos) (the dot dmol at gmail dot com)
4//
5// Distributed under the MIT Software License
6//
7
8#include <functional>
9#include "arc.hpp"
10#include <boost/date_time/posix_time/posix_time.hpp>
11
12namespace rotor {
13
14struct address_t;
15struct actor_base_t;
16struct handler_base_t;
17struct supervisor_t;
18struct system_context_t;
19
21
24
27
30
31namespace pt = boost::posix_time;
32
34using request_id_t = std::size_t;
35
45using factory_t = std::function<actor_ptr_t(supervisor_t &, const address_ptr_t &)>;
46
47} // namespace rotor
48
49namespace rotor::plugin {
50struct plugin_base_t;
51}
Basic namespace for all rotor functionalities.
Definition rotor.hpp:21
std::function< actor_ptr_t(supervisor_t &, const address_ptr_t &)> factory_t
factory which allows to create actors lazily or on demand
Definition forward.hpp:45
intrusive_ptr_t< handler_base_t > handler_ptr_t
intrusive pointer for handler
Definition forward.hpp:26
intrusive_ptr_t< actor_base_t > actor_ptr_t
intrusive pointer for actor
Definition forward.hpp:23
intrusive_ptr_t< address_t > address_ptr_t
intrusive pointer for address
Definition address.hpp:57
boost::intrusive_ptr< T > intrusive_ptr_t
alias for intrusive pointer
Definition arc.hpp:27
intrusive_ptr_t< supervisor_t > supervisor_ptr_t
intrusive pointer for supervisor
Definition forward.hpp:29
std::size_t request_id_t
timer identifier type in the scope of the actor
Definition forward.hpp:34
universal primitive of concurrent computation
Definition actor_base.h:47
Message subscription and delivery point.
Definition address.hpp:33
Base class for rotor handler, i.e concrete message type processing point on concrete actor.
Definition handler.h:121
supervisor is responsible for managing actors (workers) lifetime
Definition supervisor.h:68
The system context holds root supervisor_t (intrusive pointer) and may be loop-related details in der...
Definition system_context.h:32