rotor
Event loop friendly C++ actor micro-framework
Loading...
Searching...
No Matches
default_stringifier.h
1#pragma once
2
3//
4// Copyright (c) 2019-2024 Ivan Baidakou (basiliscos) (the dot dmol at gmail dot com)
5//
6// Distributed under the MIT Software License
7//
8
9#include "../messages.hpp"
10#include "../message_stringifier.h"
11
12#if defined(_MSC_VER)
13#pragma warning(push)
14#pragma warning(disable : 4251)
15#endif
16
17namespace rotor {
18
20
21namespace misc {
22
34
36 protected message_visitor_t,
37 protected message::unsubscription_t::visitor_t,
38 protected message::unsubscription_external_t::visitor_t,
39 protected message::subscription_t::visitor_t,
40 protected message::external_subscription_t::visitor_t,
41 protected message::commit_unsubscription_t::visitor_t,
42 protected message::handler_call_t::visitor_t,
43 protected message::init_request_t::visitor_t,
44 protected message::init_response_t::visitor_t,
45 protected message::start_trigger_t::visitor_t,
46 protected message::shutdown_trigger_t::visitor_t,
47 protected message::shutdown_request_t::visitor_t,
48 protected message::shutdown_response_t::visitor_t,
49 protected message::create_actor_t::visitor_t,
50 protected message::spawn_actor_t::visitor_t,
51 protected message::registration_request_t::visitor_t,
52 protected message::registration_response_t::visitor_t,
53 protected message::deregistration_notify_t::visitor_t,
54 protected message::deregistration_service_t::visitor_t,
55 protected message::discovery_request_t::visitor_t,
56 protected message::discovery_response_t::visitor_t,
57 protected message::discovery_promise_t::visitor_t,
58 protected message::discovery_future_t::visitor_t,
59 protected message::discovery_cancel_t::visitor_t,
60 protected message::link_request_t::visitor_t,
61 protected message::link_response_t::visitor_t,
62 protected message::unlink_notify_t::visitor_t,
63 protected message::unlink_request_t::visitor_t,
64 protected message::unlink_response_t::visitor_t {
65 void stringify_to(std::ostream &, const message_base_t &) const override;
66 bool try_visit(const message_base_t &message, void *context) const override;
67
68 private:
69 void on(const message::unsubscription_t &, void *) override;
70 void on(const message::unsubscription_external_t &, void *) override;
71 void on(const message::subscription_t &, void *) override;
72 void on(const message::external_subscription_t &, void *) override;
73 void on(const message::commit_unsubscription_t &, void *) override;
74 void on(const message::handler_call_t &, void *) override;
75 void on(const message::init_request_t &, void *) override;
76 void on(const message::init_response_t &, void *) override;
77 void on(const message::start_trigger_t &, void *) override;
78 void on(const message::shutdown_trigger_t &, void *) override;
79 void on(const message::shutdown_request_t &, void *) override;
80 void on(const message::shutdown_response_t &, void *) override;
81 void on(const message::create_actor_t &, void *) override;
82 void on(const message::spawn_actor_t &, void *) override;
83 void on(const message::registration_request_t &, void *) override;
84 void on(const message::registration_response_t &, void *) override;
85 void on(const message::deregistration_notify_t &, void *) override;
86 void on(const message::deregistration_service_t &, void *) override;
87 void on(const message::discovery_request_t &, void *) override;
88 void on(const message::discovery_response_t &, void *) override;
89 void on(const message::discovery_promise_t &, void *) override;
90 void on(const message::discovery_future_t &, void *) override;
91 void on(const message::discovery_cancel_t &, void *) override;
92 void on(const message::link_request_t &, void *) override;
93 void on(const message::link_response_t &, void *) override;
94 void on(const message::unlink_notify_t &, void *) override;
95 void on(const message::unlink_request_t &, void *) override;
96 void on(const message::unlink_response_t &, void *) override;
97};
98
99} // namespace misc
100} // namespace rotor
101
102#if defined(_MSC_VER)
103#pragma warning(pop)
104#endif
namespace for rotor core messages (which just transform payloads)
Definition messages.hpp:317
request_traits_t< payload::discovery_promise_t >::cancel::message_t discovery_cancel_t
name discovery promise cancellation
Definition messages.hpp:380
message_t< payload::deregistration_notify_t > deregistration_notify_t
deregistration notification (from client)
Definition messages.hpp:367
request_traits_t< payload::shutdown_request_t >::request::message_t shutdown_request_t
actor shutdown request
Definition messages.hpp:351
request_traits_t< payload::registration_request_t >::request::message_t registration_request_t
name/address registration request
Definition messages.hpp:363
message_t< payload::unsubscription_confirmation_t > unsubscription_t
unsubscription confirmation message
Definition messages.hpp:321
request_traits_t< payload::unlink_request_t >::request::message_t unlink_request_t
unlink request (server is asking client to cancel link)
Definition messages.hpp:390
message_t< payload::unlink_notify_t > unlink_notify_t
unlink notification (client is no longer interested in the link)
Definition messages.hpp:388
message_t< payload::spawn_actor_t > spawn_actor_t
supervisor's message to spawn new actor
Definition messages.hpp:359
request_traits_t< payload::shutdown_request_t >::response::message_t shutdown_response_t
actor shutdown response
Definition messages.hpp:353
request_traits_t< payload::unlink_request_t >::response::message_t unlink_response_t
unlink response (client confirms link cancellation)
Definition messages.hpp:392
request_traits_t< payload::registration_request_t >::response::message_t registration_response_t
name/address registration response
Definition messages.hpp:365
request_traits_t< payload::discovery_request_t >::response::message_t discovery_response_t
name discovery response
Definition messages.hpp:374
message_t< payload::start_actor_t > start_trigger_t
actor start trigger
Definition messages.hpp:346
message_t< payload::shutdown_trigger_t > shutdown_trigger_t
actor shutdown trigger
Definition messages.hpp:349
message_t< payload::subscription_confirmation_t > subscription_t
subscription confirmation message
Definition messages.hpp:325
request_traits_t< payload::initialize_actor_t >::response::message_t init_response_t
actor initialization response
Definition messages.hpp:343
message_t< payload::commit_unsubscription_t > commit_unsubscription_t
unsubscription commit message
Definition messages.hpp:330
message_t< payload::external_subscription_t > external_subscription_t
external subscription message
Definition messages.hpp:328
request_traits_t< payload::discovery_promise_t >::request::message_t discovery_promise_t
name discovery promise (aka get response when name will be available)
Definition messages.hpp:376
request_traits_t< payload::initialize_actor_t >::request::message_t init_request_t
actor initialization request
Definition messages.hpp:341
message_t< payload::deregistration_service_t > deregistration_service_t
deregistration notification (from registry-server)
Definition messages.hpp:369
request_traits_t< payload::discovery_request_t >::request::message_t discovery_request_t
name discovery request
Definition messages.hpp:372
request_traits_t< payload::link_request_t >::response::message_t link_response_t
actor link response
Definition messages.hpp:386
request_traits_t< payload::discovery_promise_t >::response::message_t discovery_future_t
name discovery future (reply to promise)
Definition messages.hpp:378
request_traits_t< payload::link_request_t >::request::message_t link_request_t
actor link request
Definition messages.hpp:384
message_t< payload::create_actor_t > create_actor_t
supervisor's message upon actor instantiation
Definition messages.hpp:356
message_t< payload::handler_call_t > handler_call_t
delivers foreign message to the actor's supervisor
Definition messages.hpp:337
message_t< payload::external_unsubscription_t > unsubscription_external_t
external unsubscription message
Definition messages.hpp:323
Basic namespace for all rotor functionalities.
Definition rotor.hpp:21
Base class for rotor message.
Definition message.h:52
Abstract interface for making textual/string representation of a message.
Definition message_stringifier.h:36
Abstract message visitor interface.
Definition message.h:36
Default stringifier of rotor messages.
Definition default_stringifier.h:64
void stringify_to(std::ostream &, const message_base_t &) const override
dumps string representation of a message to output stream
bool try_visit(const message_base_t &message, void *context) const override
returns true if a message has been successfully processed
pair of handler_base_t linked to particular address_t
Definition subscription_point.h:49