20#ifndef ORES_VARIABILITY_MESSAGING_VARIABILITY_MESSAGE_HANDLER_HPP
21#define ORES_VARIABILITY_MESSAGING_VARIABILITY_MESSAGE_HANDLER_HPP
23#include "ores.comms/messaging/message_handler.hpp"
24#include "ores.utility/log/make_logger.hpp"
25#include "ores.database/domain/context.hpp"
26#include "ores.variability/repository/feature_flags_repository.hpp"
28namespace ores::variability::messaging {
41 inline static std::string_view logger_name =
42 "ores.variability.messaging.variability_message_handler";
46 static auto instance = make_logger(logger_name);
66 boost::asio::awaitable<std::expected<std::vector<std::byte>, comms::messaging::error_code>>
68 std::span<const std::byte> payload,
69 [[maybe_unused]]
const std::string& remote_address)
override;
75 boost::asio::awaitable<std::expected<std::vector<std::byte>, comms::messaging::error_code>>
76 handle_list_feature_flags_request(std::span<const std::byte> payload);
Implements logging for ORE Studio.
Definition lifecycle_manager.hpp:30
Abstract interface for handling messages from a subsystem.
Definition message_handler.hpp:66
Context for the operations on a postgres database.
Definition context.hpp:30
Message handler for variability subsystem messages.
Definition variability_message_handler.hpp:39
boost::asio::awaitable< std::expected< std::vector< std::byte >, comms::messaging::error_code > > handle_message(comms::messaging::message_type type, std::span< const std::byte > payload, const std::string &remote_address) override
Handle a variability subsystem message.
Definition variability_message_handler.cpp:33
Reads and writes feature flags from data storage.
Definition feature_flags_repository.hpp:35