Traits template for mapping request types to their response types and message type enum values.
More...
template<typename Request>
struct ores::comms::messaging::message_traits< Request >
Traits template for mapping request types to their response types and message type enum values.
Each request/response message pair should specialize this template to provide compile-time type information. This enables simplified API usage where only the request type needs to be specified.
Example specialization:
template<>
static constexpr message_type request_message_type =
message_type::subscribe_request;
};
Traits template for mapping request types to their response types and message type enum values.
Definition message_traits.hpp:66
Request to subscribe to entity change notifications.
Definition subscription_protocol.hpp:41
Response confirming subscription request.
Definition subscription_protocol.hpp:70
Usage with process_request:
auto result = client_->process_request<
message_type::subscribe_request>(std::move(req));
auto result = client_->process_request(std::move(req));
Simple result type for C++20 (std::expected replacement).
Definition result.hpp:34
- Note
- This is complementary to event_traits in ores.eventing, which maps domain events to string names for the pub/sub notification system. message_traits maps request types to response types for RPC-style messaging.
- Template Parameters
-