Back to Site
Loading...
Searching...
No Matches
librats::MessageHeader Struct Reference

Message header structure for librats messages Fixed 8-byte header format: [0-3]: Magic number "RATS" (4 bytes) [4]: Message data type (1 byte) [5-7]: Reserved for future use (3 bytes) More...

#include <librats.h>

Public Member Functions

 MessageHeader (MessageDataType data_type)
 
 MessageHeader ()
 
std::vector< uint8_t > serialize () const
 
bool is_valid_type () const
 

Static Public Member Functions

static bool deserialize (const std::vector< uint8_t > &data, MessageHeader &header)
 

Public Attributes

uint32_t magic
 
MessageDataType type
 
uint8_t reserved [3]
 

Static Public Attributes

static constexpr uint32_t MAGIC_NUMBER = 0x52415453
 
static constexpr size_t HEADER_SIZE = 8
 

Detailed Description

Message header structure for librats messages Fixed 8-byte header format: [0-3]: Magic number "RATS" (4 bytes) [4]: Message data type (1 byte) [5-7]: Reserved for future use (3 bytes)

Definition at line 147 of file librats.h.

Constructor & Destructor Documentation

◆ MessageHeader() [1/2]

librats::MessageHeader::MessageHeader ( MessageDataType  data_type)
inline

Definition at line 155 of file librats.h.

References reserved.

◆ MessageHeader() [2/2]

librats::MessageHeader::MessageHeader ( )
inline

Definition at line 159 of file librats.h.

References reserved.

Member Function Documentation

◆ deserialize()

static bool librats::MessageHeader::deserialize ( const std::vector< uint8_t > &  data,
MessageHeader header 
)
inlinestatic

Definition at line 176 of file librats.h.

References HEADER_SIZE, magic, MAGIC_NUMBER, reserved, and type.

◆ is_valid_type()

bool librats::MessageHeader::is_valid_type ( ) const
inline

Definition at line 198 of file librats.h.

References librats::BINARY, librats::JSON, librats::STRING, and type.

◆ serialize()

std::vector< uint8_t > librats::MessageHeader::serialize ( ) const
inline

Definition at line 164 of file librats.h.

References HEADER_SIZE, magic, reserved, and type.

Member Data Documentation

◆ HEADER_SIZE

constexpr size_t librats::MessageHeader::HEADER_SIZE = 8
staticconstexpr

Definition at line 149 of file librats.h.

Referenced by deserialize(), and serialize().

◆ magic

uint32_t librats::MessageHeader::magic

Definition at line 151 of file librats.h.

Referenced by deserialize(), and serialize().

◆ MAGIC_NUMBER

constexpr uint32_t librats::MessageHeader::MAGIC_NUMBER = 0x52415453
staticconstexpr

Definition at line 148 of file librats.h.

Referenced by deserialize().

◆ reserved

uint8_t librats::MessageHeader::reserved[3]

Definition at line 153 of file librats.h.

Referenced by MessageHeader(), MessageHeader(), deserialize(), and serialize().

◆ type

MessageDataType librats::MessageHeader::type

Definition at line 152 of file librats.h.

Referenced by deserialize(), is_valid_type(), and serialize().


The documentation for this struct was generated from the following file: