Group wire¶
Macros¶
| Type | Name |
|---|---|
| define | DP_FLAG_CHUNKED 0x0001u |
| define | DP_FLAG_KNOWN ([**DP\_FLAG\_CHUNKED**](group__wire.md#define-dp_flag_chunked)) |
| define | DP_REP_BE "IEEE" |
| define | DP_REP_LE "EEEI" |
| define | DP_STREAM_MAGIC 0x4D41455254535044ULL /\* "DPSTREAM" little-endian \*/ |
| define | DP_WIRE_VERSION 2u |
Macro Definition Documentation¶
define DP_FLAG_CHUNKED¶
Frame flags. A 24-byte chunk block follows the header; see ยง4 of \ docs/design/streaming.md.
define DP_FLAG_KNOWN¶
Every flag bit this build understands.
A receiver REJECTS a frame carrying a bit outside this mask rather than guessing. That is what makes a later additive change safe: a frame with a new optional block cannot be mistaken for one without it, because the block changes where the payload starts.
define DP_REP_BE¶
Byte-order tag: IEEE big-endian.
define DP_REP_LE¶
Byte-order tag, BLUE's own token (HCB data_rep): IEEE little-endian. Written as four ASCII characters so a hex dump says which order the numbers are in without decoding anything else.
define DP_STREAM_MAGIC¶
Magic: the eight ASCII bytes DPSTREAM, as one uint64_t.
An integer rather than an eight-character array on purpose: the header is written in host byte order with no conversion, so a peer of the opposite endianness reads this field byte-swapped and it no longer matches. The magic is therefore the endianness probe as well as the format tag, and costs nothing to be both. (An array of characters would read identically either way and detect nothing.)
define DP_WIRE_VERSION¶
Wire revision. A receiver rejects a frame whose major differs: within a major, changes are additive and announced by an unrecognised flag bit, which is also rejected (see DP_FLAG_KNOWN).