CommRaT 2.0.0
C++20 Real-Time Messaging Framework
Loading...
Searching...
No Matches
message_id.hpp File Reference
#include <cstdint>
#include <type_traits>

Go to the source code of this file.

Classes

struct  commrat::DefaultMessageDef
 Default values for message definition. More...
 
struct  commrat::MessageDefinition< PayloadT, Prefix_, SubPrefix_, ID_ >
 Message definition with compile-time ID assignment. More...
 
struct  commrat::Request< MessageDef >
 Mark a message as a request that expects a reply. More...
 
struct  commrat::Reply< RequestMessageDef >
 Define a reply message paired with a request. More...
 
struct  commrat::EmptyPayload
 Empty payload for messages that only need their ID. More...
 

Namespaces

namespace  commrat
 CommRaT - Modern C++ Real-Time Communication Framework.
 

Enumerations

enum class  commrat::MessagePrefix : uint8_t { commrat::System = 0x00 , commrat::UserDefined = 0x01 }
 Message ID prefixes. More...
 
enum class  commrat::SystemSubPrefix : uint8_t { commrat::Subscription = 0x00 , commrat::Control = 0x01 , commrat::Reserved = 0xFF }
 System message sub-categories (when Prefix == System) More...
 
enum class  commrat::UserSubPrefix : uint8_t { commrat::Data = 0x00 , commrat::Commands = 0x01 , commrat::Events = 0x02 , commrat::Custom = 0x03 }
 User-defined message sub-categories (when Prefix == UserDefined) More...
 

Functions

constexpr uint32_t commrat::make_message_id (uint8_t prefix, uint8_t subprefix, uint16_t id)
 Compile-time message ID construction.
 
constexpr uint32_t commrat::system_message_id (SystemSubPrefix subprefix, uint16_t id)
 System message ID helper.
 
constexpr uint32_t commrat::user_message_id (UserSubPrefix subprefix, uint16_t id)
 User message ID helper.