|
| Recovery_metadata_message (const std::string &view_id, Recovery_metadata_message_payload_error error=RECOVERY_METADATA_NO_ERROR, GR_compress::enum_compression_type compression_type=GR_compress::enum_compression_type::ZSTD_COMPRESSION) |
| Message constructor. More...
|
|
virtual | ~Recovery_metadata_message () override |
| Message destructor. More...
|
|
| Recovery_metadata_message (const uchar *buf, size_t len) |
| Message constructor for raw data. More...
|
|
std::string & | get_encode_view_id () |
| Return the message view_id which was generated when new member joined. More...
|
|
Recovery_metadata_message_payload_error | get_encode_message_error () |
| Return the message error type. More...
|
|
void | set_encode_message_error () |
| Set the message error type. More...
|
|
GR_compress::enum_compression_type | get_encode_compression_type () |
| Return the compression type with which Certification Information compressed. More...
|
|
std::string & | get_encode_group_gtid_executed () |
| Returns the gtid executed from the certification info map of the donor. More...
|
|
std::vector< GR_compress * > & | get_encode_compressor_list () |
| Returns the compressed Certification Information divided in multiple elements of the vector. More...
|
|
void | set_joining_members (std::vector< Gcs_member_identifier > &joining_members) |
| Set members joining the view. More...
|
|
void | set_valid_metadata_senders (std::vector< Gcs_member_identifier > &online_members) |
| Set members ONLINE in the view. More...
|
|
void | sort_valid_metadata_sender_list_using_uuid () |
| Set the vector m_valid_metadata_sender_list. More...
|
|
void | set_metadata_sender (Gcs_member_identifier &sender_gcs_id) |
| Set metadata sender. More...
|
|
bool | donor_left () |
| Check if recovery metadata donor has left the group. More...
|
|
std::pair< bool, Gcs_member_identifier > | compute_and_get_current_metadata_sender () |
| Compute the current metadata sender and return the GCS Member ID of the current metadata sender. More...
|
|
bool | am_i_recovery_metadata_sender () |
| Checks if local member is metadata sender. More...
|
|
void | delete_members_left (std::vector< Gcs_member_identifier > &member_left) |
| Remove the members that left the group from the joining and valid sender list. More...
|
|
bool | is_joiner_or_valid_sender_list_empty () |
| Return if joiner and valid metadata sender list is empty or not. More...
|
|
bool | save_copy_of_recovery_metadata_payload () |
| Save copy of undecoded metadata, so it can be decoded and used later when required. More...
|
|
void | delete_copy_of_recovery_metadata_payload () |
| Delete the saved copy of undecoded metadata. More...
|
|
void | set_decoded_message_error () |
| Set the decoded message error type. More...
|
|
std::pair< enum_recovery_metadata_message_error, std::reference_wrapper< std::string > > | get_decoded_view_id () |
| Return view_id generated when new member joined. More...
|
|
std::pair< enum_recovery_metadata_message_error, Recovery_metadata_message_payload_error > | get_decoded_message_error () |
| Return the payload send message error received error in Recovery Metadata message. More...
|
|
std::pair< enum_recovery_metadata_message_error, GR_compress::enum_compression_type > | get_decoded_compression_type () |
| Return the compression type with which Certification Information compressed in received Recovery Metadata message. More...
|
|
std::pair< enum_recovery_metadata_message_error, std::reference_wrapper< std::string > > | get_decoded_group_gtid_executed () |
| Return the executed gtid set received from sender in received Recovery Metadata message. More...
|
|
std::pair< enum_recovery_metadata_message_error, unsigned int > | get_decoded_compressed_certification_info_packet_count () |
| Return the Compressed Certification Info packet count received in Recovery Metadata message. More...
|
|
std::tuple< Recovery_metadata_message::enum_recovery_metadata_message_error, unsigned long long, unsigned long long > | get_decoded_compressed_certification_info_uncompressed_length (const unsigned char *payload_start_pos) |
| Return the Certification Info packet's uncompressed_length i.e. More...
|
|
std::tuple< Recovery_metadata_message::enum_recovery_metadata_message_error, const unsigned char *, unsigned long long > | get_decoded_compressed_certification_info_payload (const unsigned char *payload_start_pos) |
| Return the compressed Certification Info payload. More...
|
|
virtual | ~Plugin_gcs_message ()=default |
|
int | get_version () |
|
unsigned short | get_header_length () |
|
enum_cargo_type | get_cargo_type () const |
|
unsigned long long | get_msg_length () |
|
void | encode (std::vector< unsigned char > *buffer) const |
| Encodes the contents of this instance into the buffer. More...
|
|
void | decode (const unsigned char *buffer, size_t length) |
| Decodes the contents of the buffer and sets the field values according to the values decoded. More...
|
|
|
static uint64_t | get_sent_timestamp (const unsigned char *buffer, size_t length) |
| Return the time at which the message contained in the buffer was sent. More...
|
|
static enum_cargo_type | get_cargo_type (const unsigned char *buffer) |
| Return the cargo type of a given message buffer, without decode the complete message. More...
|
|
static void | get_first_payload_item_raw_data (const unsigned char *buffer, const unsigned char **payload_item_data, size_t *payload_item_length) |
| Return the raw data of the first payload item of a given message buffer, without decode the complete message. More...
|
|
static bool | get_payload_item_type_raw_data (const unsigned char *buffer, const unsigned char *end, uint16 payload_item_type, const unsigned char **payload_item_data, unsigned long long *payload_item_length) |
| Return the raw data of the payload item of a given payload type of a given message buffer. More...
|
|
|
void | encode_payload (std::vector< unsigned char > *buffer) const override |
| Encodes the message contents for transmission. More...
|
|
void | decode_payload (const unsigned char *buffer, const unsigned char *end) override |
| Message decoding method. 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 | 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...
|
|
|
std::string | m_encode_view_id |
| The view_id generated when new member joined. More...
|
|
Recovery_metadata_message_payload_error | m_encode_metadata_message_error |
| The enum_recovery_metadata_message_error message error type. More...
|
|
GR_compress::enum_compression_type | m_encode_metadata_compression_type |
| The compression type with which Certification Information compressed. More...
|
|
std::string | m_encoded_group_gtid_executed {} |
| The executed gtid set received from sender. More...
|
|
std::string | m_decoded_view_id |
| The view_id received from sender. More...
|
|
std::string | m_decoded_group_gtid_executed {} |
| The executed gtid set from sender. More...
|
|
std::pair< enum_recovery_metadata_message_error, std::reference_wrapper< std::string > > | m_decoded_view_id_error |
| The pair of <enum_recovery_metadata_message_error error, View ID>. More...
|
|
std::pair< enum_recovery_metadata_message_error, Recovery_metadata_message_payload_error > | m_decoded_message_send_error |
| The pair of <enum_recovery_metadata_message_error error, Recovery_metadata_message_payload_error payload_error>. More...
|
|
std::pair< enum_recovery_metadata_message_error, GR_compress::enum_compression_type > | m_decoded_compression_type_error |
| The pair of <enum_recovery_metadata_message_error error, GR_compress::enum_compression_type>. More...
|
|
std::pair< enum_recovery_metadata_message_error, std::reference_wrapper< std::string > > | m_decoded_group_gtid_executed_error |
| The pair of <enum_recovery_metadata_message_error error, executed gtid set>. More...
|
|
std::pair< enum_recovery_metadata_message_error, unsigned int > | m_decoded_certification_info_packet_count_error |
| The pair of <enum_recovery_metadata_message_error error, Compress Certification Info packet count>. More...
|
|
std::tuple< Recovery_metadata_message::enum_recovery_metadata_message_error, unsigned long long, unsigned long long > | m_decoded_certification_info_uncompressed_length_error |
| The tuple of <enum_recovery_metadata_message_error error, Certification Info packet uncompressed_length i.e. More...
|
|
std::tuple< Recovery_metadata_message::enum_recovery_metadata_message_error, const unsigned char *, unsigned long long > | m_decoded_compressed_certification_info_error |
| The std::tuple of <enum_recovery_metadata_message_error error, compressed Certification Info packet, length of compressed Certification Info packet>. More...
|
|
std::vector< GR_compress * > | m_encode_compressor_list |
| The Certification Information in compressed and serialized format, used by the joining member for the recovery. More...
|
|
std::vector< Gcs_member_identifier > | m_members_joined_in_view |
| The members joining in the view. More...
|
|
std::vector< Gcs_member_identifier > | m_valid_metadata_senders |
| The members ONLINE in the view. More...
|
|
Gcs_member_identifier | m_member_id_sending_metadata |
| The GCS Member ID of the member sending recovery metadata. More...
|
|
const unsigned char * | m_decode_metadata_buffer |
| This pointer is added to start of buffer part which is yet to be decoded. More...
|
|
bool | m_decode_is_metadata_buffer_local_copy {false} |
| The metadata is broadcasted to all group members but only joiners require after_gtids and compressed certification info part of metadata which is processed by recovery thread, while view_id and metadata error part of metadata required by other members is processed by GCS thread. More...
|
|
const unsigned char * | m_decode_metadata_end |
| The end position of received metadata message payload. More...
|
|
size_t | m_decode_metadata_length {0} |
| The length of yet to be decoded part of buffer. More...
|
|
|
static const int | PLUGIN_GCS_MESSAGE_VERSION = 1 |
| The protocol version number. More...
|
|
static const unsigned int | WIRE_VERSION_SIZE = 4 |
| The protocol version number. More...
|
|
static const unsigned int | WIRE_HD_LEN_SIZE = 2 |
| The on-the-wire size of the header length field. More...
|
|
static const unsigned int | WIRE_MSG_LEN_SIZE = 8 |
| The on-the-wire size of the message size field. More...
|
|
static const unsigned int | WIRE_CARGO_TYPE_SIZE = 2 |
| The on-the-wire size of the cargo type field. More...
|
|
static const unsigned int | WIRE_FIXED_HEADER_SIZE |
| The on-the-wire size of the fixed header. More...
|
|
static const unsigned int | WIRE_PAYLOAD_ITEM_TYPE_SIZE = 2 |
| The on-the-wire size of the each payload item type field. More...
|
|
static const unsigned int | WIRE_PAYLOAD_ITEM_LEN_SIZE = 8 |
| The on-the-wire size of the each payload item size field. More...
|
|
static const unsigned int | WIRE_PAYLOAD_ITEM_HEADER_SIZE |
| The on-the-wire size of the payload item header. More...
|
|
static int64_t | get_sent_timestamp (const unsigned char *buffer, size_t length, const uint16 timestamp_payload_item_type) |
| Return the time at which the message contained in the buffer was sent. More...
|
|
static void | decode_payload_item_type_and_length (const unsigned char **buffer, uint16 *payload_item_type, unsigned long long *payload_item_length) |
| Decodes the given payload item type and length from the buffer. More...
|
|
static void | decode_payload_item_char (const unsigned char **buffer, uint16 *type, unsigned char *value) |
| Decodes the given payload item (type, length and value) from the buffer as a char (1 byte). More...
|
|
static 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...
|
|