Skip to content

sgns::message_header

#include <common.hpp>

Public Functions

Name
message_header(sgns::message_type type_a)
message_header(bool & error_a, sgns::stream & stream_a)
void serialize(sgns::stream & stream_a, bool use_epoch_2_min_version_a) const
bool deserialize(sgns::stream & stream_a)
sgns::block_type block_type() const
void block_type_set(sgns::block_type type_a)
uint8_t count_get() const
void count_set(uint8_t count_a)
void flag_set(uint8_t flag_a)
bool bulk_pull_is_count_present() const
bool node_id_handshake_is_query() const
bool node_id_handshake_is_response() const
uint8_t version_min() const
size_t payload_length_bytes() const

Public Attributes

Name
uint8_t version_max
uint8_t version_using
sgns::message_type type
std::bitset< 16 > extensions
size_t constexpr size
uint8_t constexpr bulk_pull_count_present_flag
uint8_t constexpr node_id_handshake_query_flag
uint8_t constexpr node_id_handshake_response_flag
std::bitset< 16 > constexpr block_type_mask
std::bitset< 16 > constexpr count_mask

Public Functions Documentation

function message_header

explicit message_header(
    sgns::message_type type_a
)

function message_header

message_header(
    bool & error_a,
    sgns::stream & stream_a
)

function serialize

void serialize(
    sgns::stream & stream_a,
    bool use_epoch_2_min_version_a
) const

function deserialize

bool deserialize(
    sgns::stream & stream_a
)

function block_type

sgns::block_type block_type() const

function block_type_set

void block_type_set(
    sgns::block_type type_a
)

function count_get

uint8_t count_get() const

function count_set

void count_set(
    uint8_t count_a
)

function flag_set

void flag_set(
    uint8_t flag_a
)

function bulk_pull_is_count_present

bool bulk_pull_is_count_present() const

function node_id_handshake_is_query

bool node_id_handshake_is_query() const

function node_id_handshake_is_response

bool node_id_handshake_is_response() const

function version_min

uint8_t version_min() const

function payload_length_bytes

size_t payload_length_bytes() const

Size of the payload in bytes. For some messages, the payload size is based on header flags.

Public Attributes Documentation

variable version_max

uint8_t version_max;

variable version_using

uint8_t version_using;

variable type

sgns::message_type type;

variable extensions

std::bitset< 16 > extensions;

variable size

static size_t constexpr size = sizeof (network_params::header_magic_number) + sizeof (version_max) + sizeof (version_using) + sizeof (version_min_m) + sizeof (type) + sizeof ( uint16_t);

variable bulk_pull_count_present_flag

static uint8_t constexpr bulk_pull_count_present_flag = 0;

variable node_id_handshake_query_flag

static uint8_t constexpr node_id_handshake_query_flag = 0;

variable node_id_handshake_response_flag

static uint8_t constexpr node_id_handshake_response_flag = 1;

variable block_type_mask

static std::bitset< 16 > constexpr block_type_mask { 0x0f00 };

variable count_mask

static std::bitset< 16 > constexpr count_mask { 0xf000 };

Updated on 2026-03-04 at 13:10:43 -0800