|
void | encode_payload (std::vector< unsigned char > *buffer) const override |
| Encodes the contents of this instance payload into the buffer. More...
|
|
void | decode_payload (const unsigned char *buffer, const unsigned char *end) override |
| Decodes the contents of the buffer and sets the payload field values according to the values decoded. More...
|
|
| Plugin_gcs_message (enum_cargo_type cargo_type) |
| Plugin_gcs_message constructor. More...
|
|
void | encode_header (std::vector< unsigned char > *buffer) const |
| Encodes the header of this instance into the buffer. More...
|
|
void | decode_header (const unsigned char **slider) |
| Decodes the header of the buffer into this instance. More...
|
|
void | encode_payload_item_type_and_length (std::vector< unsigned char > *buffer, uint16 payload_item_type, unsigned long long payload_item_length) const |
| Encodes the given payload item type and length into the buffer. More...
|
|
void | encode_payload_item_char (std::vector< unsigned char > *buffer, uint16 type, unsigned char value) const |
| Encodes the given payload item (type, length and value) into the buffer as a char (1 byte). More...
|
|
void | encode_payload_item_int2 (std::vector< unsigned char > *buffer, uint16 type, uint16 value) const |
| Encodes the given payload item (type, length and value) into the buffer as a 2 bytes integer. More...
|
|
void | decode_payload_item_int2 (const unsigned char **buffer, uint16 *type, uint16 *value) |
| Decodes the given payload item (type, length and value) from the buffer as a 2 bytes integer. More...
|
|
void | encode_payload_item_int4 (std::vector< unsigned char > *buffer, uint16 type, uint32 value) const |
| Encodes the given payload item (type, length and value) into the buffer as a 4 bytes integer. More...
|
|
void | decode_payload_item_int4 (const unsigned char **buffer, uint16 *type, uint32 *value) |
| Decodes the given payload item (type, length and value) from the buffer as a 4 bytes integer. More...
|
|
void | encode_payload_item_int8 (std::vector< unsigned char > *buffer, uint16 type, ulonglong value) const |
| Encodes the given payload item (type, length and value) into the buffer as a 8 bytes integer. More...
|
|
void | decode_payload_item_int8 (const unsigned char **buffer, uint16 *type, uint64 *value) |
| Decodes the given payload item (type, length and value) from the buffer as a 8 bytes integer. More...
|
|
void | encode_payload_item_string (std::vector< unsigned char > *buffer, uint16 type, const char *value, unsigned long long length) const |
| Encodes the given payload item (type, length and value) into the buffer as a char array (variable size). More...
|
|
void | decode_payload_item_string (const unsigned char **buffer, uint16 *type, std::string *value, unsigned long long *length) |
| Decodes the given payload item (type, length and value) from the buffer as a char array (variable size). More...
|
|
void | encode_payload_item_bytes (std::vector< unsigned char > *buffer, uint16 type, const unsigned char *value, unsigned long long length) const |
| Encodes the given payload item (type, length and value) into the buffer as a byte buffer (variable size). More...
|
|
void | decode_payload_item_bytes (const unsigned char **buffer, uint16 *type, unsigned char *value, unsigned long long *length) |
| Decodes the given payload item (type, length and value) from the buffer as a byte buffer (variable size). More...
|
|
This is the Group_member_info_manager message.
It is composed by a fixed header and 1 or more Group_member_info messages. Each Group_member_info message does have its own fixed header.
The on-the-wire representation of the message is:
+----------------—+--------—+-----------------------------------—+ | field | wire size | description | +===================+===========+======================================+ | version | 4 bytes | protocol version | | fixed_hdr_len | 2 bytes | length of the fixed header | | message_len | 8 bytes | length of the message | | cargo_type | 2 bytes | the cargo type in the payload | +----------------—+--------—+-----------------------------------—+ | payload_item_type | 2 bytes | PIT_MEMBERS_NUMBER | | payload_item_len | 8 bytes | size of PIT_MEMBERS_NUMBER value | | payload_item | X bytes | number of members | +----------------—+--------—+-----------------------------------—+ | payload_item_type | 2 bytes | PIT_MEMBER_DATA | | payload_item_len | 8 bytes | size of CT_MEMBER_INFO_MESSAGE data | | payload_item | X bytes | CT_MEMBER_INFO_MESSAGE data | +----------------—+--------—+-----------------------------------—+ | payload_item_type | 2 bytes | PIT_MEMBER_ACTIONS | | payload_item_len | 8 bytes | size of PIT_MEMBER_ACTIONS data | | payload_item | X bytes | PIT_MEMBER_ACTIONS data | +----------------—+--------—+-----------------------------------—+ | payload_item_type | 2 bytes | PIT_RPL_FAILOVER_CONFIGURATION | | payload_item_len | 8 bytes | size of | | | | PIT_RPL_FAILOVER_CONFIGURATION data | | payload_item | X bytes | PIT_RPL_FAILOVER_CONFIGURATION data | +----------------—+--------—+-----------------------------------—+
The PIT_MEMBER_DATA lines occur the number of times specified on PIT_MEMBERS_NUMBER. The PIT_MEMBER_ACTIONS and PIT_RPL_FAILOVER_CONFIGURATION lines will exist if the member that sent the Group_member_info_manager message is not joining.