CommRaT 2.0.0
C++20 Real-Time Messaging Framework
Loading...
Searching...
No Matches
message_schema.hpp
Go to the documentation of this file.
1
16#pragma once
17
18#include "commrat/messages.hpp"
19#include <sertial/core/layout/struct_layout.hpp>
20#include <rfl.hpp>
21#include <string_view>
22#include <cstdint>
23
24namespace commrat {
25
50template<typename PayloadT, typename Registry>
62 uint32_t message_id = Registry::template get_message_id<PayloadT>();
63 std::string payload_type = rfl::type_name_t<PayloadT>().str();
64 std::string full_type = rfl::type_name_t<TimsMessage<PayloadT>>().str();
65 size_t max_message_size = Registry::max_message_size;
66 std::string registry_name = rfl::type_name_t<Registry>().str();
67 };
68
70 sertial::StructLayout<TimsMessage<PayloadT>> layout;
71};
72
73} // namespace commrat
CommRaT - Modern C++ Real-Time Communication Framework.
CommRaT-specific metadata (compile-time constants)
Complete schema for a CommRaT message type.
sertial::StructLayout< TimsMessage< PayloadT > > layout