![]() |
MySQL 9.2.0
Source Code Documentation
|
This is the Group_member_info_manager message. More...
#include <member_info.h>
Public Types | |
enum | enum_payload_item_type { PIT_UNKNOWN = 0 , PIT_MEMBERS_NUMBER = 1 , PIT_MEMBER_DATA = 2 , PIT_MEMBER_ACTIONS = 3 , PIT_RPL_FAILOVER_CONFIGURATION = 4 , PIT_MAX = 5 } |
The different cargo type codes. More... |
Public Member Functions | |
Group_member_info_manager_message () | |
Group_member_info_manager_message constructor. More... | |
Group_member_info_manager_message (Group_member_info_manager &group_info) | |
Group_member_info_manager_message constructor. More... | |
Group_member_info_manager_message (Group_member_info *member_info) | |
Group_member_info_manager_message constructor. More... | |
~Group_member_info_manager_message () override | |
Group_member_info_manager_message destructor. More... | |
Group_member_info_list * | get_all_members () |
Retrieves all Group members on this message. More... | |
void | add_member_actions_serialized_configuration (std::vector< unsigned char > *buffer, const std::string &member_actions_serialized_configuration) const |
Adds a already serialized member actions configuration to the Group_member_info_manager_message content. More... | |
bool | get_pit_data (const enum_payload_item_type pit, const unsigned char *buffer, size_t length, const unsigned char **pit_data, size_t *pit_length) |
Gets the data that belongs to payload_item_type pit. More... | |
void | add_replication_failover_channels_serialized_configuration (std::vector< unsigned char > *buffer, const std::string &replication_failover_channels_serialized_configuration) const |
Adds a already serialized replication failover channels configuration to the Group_member_info_manager_message content. More... | |
Protected Member Functions | |
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... | |
Private Member Functions | |
void | clear_members () |
Clear members and its allocated memory. More... | |
Private Attributes | |
Group_member_info_list * | members |
Additional Inherited Members |
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.
Group_member_info_manager_message::Group_member_info_manager_message | ( | ) |
Group_member_info_manager_message constructor.
Group_member_info_manager_message::Group_member_info_manager_message | ( | Group_member_info_manager & | group_info | ) |
Group_member_info_manager_message constructor.
[in] | group_info | Group_member_info_manager members information |
Group_member_info_manager_message::Group_member_info_manager_message | ( | Group_member_info * | member_info | ) |
Group_member_info_manager_message constructor.
[in] | member_info | Group_member_info one member information |
|
override |
Group_member_info_manager_message destructor.
void Group_member_info_manager_message::add_member_actions_serialized_configuration | ( | std::vector< unsigned char > * | buffer, |
const std::string & | member_actions_serialized_configuration | ||
) | const |
Adds a already serialized member actions configuration to the Group_member_info_manager_message content.
[in] | buffer | message buffer |
[in] | member_actions_serialized_configuration | serialized member actions configuration |
void Group_member_info_manager_message::add_replication_failover_channels_serialized_configuration | ( | std::vector< unsigned char > * | buffer, |
const std::string & | replication_failover_channels_serialized_configuration | ||
) | const |
Adds a already serialized replication failover channels configuration to the Group_member_info_manager_message content.
[in] | buffer | message buffer |
[in] | replication_failover_channels_serialized_configuration | serialized failover channels configuration |
|
private |
Clear members and its allocated memory.
|
overrideprotectedvirtual |
Decodes the contents of the buffer and sets the payload field values according to the values decoded.
[in] | buffer | the buffer to decode from. |
[in] | end | the end of the buffer. |
Implements Plugin_gcs_message.
|
overrideprotectedvirtual |
Encodes the contents of this instance payload into the buffer.
[out] | buffer | the buffer to encode to. |
Implements Plugin_gcs_message.
Group_member_info_list * Group_member_info_manager_message::get_all_members | ( | ) |
Retrieves all Group members on this message.
bool Group_member_info_manager_message::get_pit_data | ( | const enum_payload_item_type | pit, |
const unsigned char * | buffer, | ||
size_t | length, | ||
const unsigned char ** | pit_data, | ||
size_t * | pit_length | ||
) |
Gets the data that belongs to payload_item_type pit.
[in] | pit | the payload_item_type to which the data belongs |
[in] | buffer | message buffer |
[in] | length | message buffer length |
[out] | pit_data | the data from payload_item_type pit |
[out] | pit_length | the length of the data from payload_item_type pit |
false | OK |
true | member actions do not exist on the message |
|
private |