43 [[nodiscard]]
static auto& lg() {
45 static auto instance = make_logger(
46 "ores.comms.service.subscription_handler");
58 std::shared_ptr<subscription_manager> manager,
59 std::shared_ptr<eventing::service::event_channel_registry> registry);
69 boost::asio::awaitable<std::expected<std::vector<std::byte>, ores::utility::serialization::error_code>>
71 std::span<const std::byte> payload,
72 const std::string& remote_address)
override;
78 std::expected<std::vector<std::byte>, ores::utility::serialization::error_code>
79 handle_subscribe_request(std::span<const std::byte> payload,
80 const std::string& remote_address);
85 std::expected<std::vector<std::byte>, ores::utility::serialization::error_code>
86 handle_unsubscribe_request(std::span<const std::byte> payload,
87 const std::string& remote_address);
92 std::expected<std::vector<std::byte>, ores::utility::serialization::error_code>
93 handle_list_event_channels_request(std::span<const std::byte> payload,
94 const std::string& remote_address);
96 std::shared_ptr<subscription_manager> manager_;
97 std::shared_ptr<eventing::service::event_channel_registry> registry_;
boost::asio::awaitable< std::expected< std::vector< std::byte >, ores::utility::serialization::error_code > > handle_message(messaging::message_type type, std::span< const std::byte > payload, const std::string &remote_address) override
Handle a subscription protocol message.
Definition subscription_handler.cpp:35