110template<
typename... MessageDefs>
159 template<
typename OutputSpec_,
typename InputSpec_,
typename... CommandTypes>
188 template<
typename PayloadT>
223 template<std::
size_t HistorySize>
CommRaT Application Template - Main User-Facing Interface.
typename Registry::PayloadTypes payload_types
Mailbox with timestamped history for getData synchronization.
Compile-time message type registry using MessageDefinition templates.
static auto serialize(T &message)
Serialize a message with automatic type registration check.
static bool dispatch(uint32_t msg_id, std::span< const std::byte > data, Callback &&callback)
Deserialize message by ID and dispatch to callback.
static constexpr size_t max_message_size
static constexpr bool is_registered
Check if a payload type is registered.
static constexpr uint32_t get_message_id()
Get the message ID for a given payload type.
static bool visit(uint32_t msg_id, std::span< const std::byte > data, Visitor &&visitor)
Visit a message by its message ID using a visitor.
typename ExtractPayloads< ProcessedDefs >::PayloadTypes PayloadTypes
static auto deserialize(std::span< const std::byte > data)
Deserialize a message with known type at compile time.
Timestamp Management Architecture.
Mailbox that takes a MessageRegistry and exposes payload-only interface.
Registry-wide introspection and schema export.
Input/Output specifications for multi-I/O modules.
Simplified message definition helpers.
CommRaT - Modern C++ Real-Time Communication Framework.
Registry-wide introspection and schema export.
Type-restricted mailbox with optimized buffer sizing (Phase 7)