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
20using address_ptr_t = intrusive_ptr_t<address_t>;
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
intrusive_ptr_t< supervisor_t > supervisor_ptr_t
intrusive pointer for supervisor
Definition forward.hpp:29
intrusive_ptr_t< address_t > address_ptr_t
intrusive pointer for address
Definition address.hpp:57
intrusive_ptr_t< actor_base_t > actor_ptr_t
intrusive pointer for actor
Definition forward.hpp:23
intrusive_ptr_t< handler_base_t > handler_ptr_t
intrusive pointer for handler
Definition forward.hpp:26
std::size_t request_id_t
timer identifier type in the scope of the actor
Definition forward.hpp:34
boost::intrusive_ptr< T > intrusive_ptr_t
alias for intrusive pointer
Definition arc.hpp:27
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
supervisor is responsible for managing actors (workers) lifetime
Definition supervisor.h:69