|
ORE Studio 0.0.4
|
Frame header structure for the ORES protocol. More...
#include <frame.hpp>

Public Attributes | |
| std::uint32_t | magic |
| std::uint16_t | version_major |
| std::uint16_t | version_minor |
| message_type | type |
| compression_type | compression |
| std::uint8_t | compression_flags |
| std::uint32_t | payload_size |
| std::uint32_t | sequence |
| std::uint32_t | crc |
| std::uint32_t | correlation_id |
| std::array< std::uint8_t, 4 > | reserved2 |
Static Public Attributes | |
| static constexpr size_t | size = 32 |
Frame header structure for the ORES protocol.
Frame layout (32 bytes header): +0: magic (4 bytes) - Protocol identifier (0x4F524553 = "ORES") +4: version_major (2 bytes) - Protocol major version +6: version_minor (2 bytes) - Protocol minor version +8: type (2 bytes) - Message type +10: compression (1 byte) - Compression algorithm (compression_type enum) +11: compression_flags (1 byte) - Reserved compression flags (must be 0) +12: payload_size (4 bytes) - Size of payload in bytes (compressed size if compressed) +16: sequence (4 bytes) - Sequence number for ordering +20: crc (4 bytes) - CRC32 checksum of header + compressed payload +24: correlation_id (4 bytes) - Matches requests to responses +28: reserved2 (4 bytes) - Reserved for future use +32: payload (N bytes) - Message payload (compressed if compression != none)
When compression is enabled (compression != none):