| 
| enum   | enum_payload_item_type {  
  PIT_UNKNOWN = 0
, PIT_ACTION_TYPE = 1
, PIT_ACTION_PHASE = 2
, PIT_ACTION_RETURN_VALUE = 3
,  
  PIT_ACTION_PRIMARY_ELECTION_UUID = 4
, PIT_ACTION_SET_COMMUNICATION_PROTOCOL_VERSION = 5
, PIT_ACTION_TRANSACTION_MONITOR_TIMEOUT = 6
, PIT_ACTION_INITIATOR = 7
,  
  PIT_SENT_TIMESTAMP = 8
, PIT_MAX = 9
 
 } | 
|   | 
| enum   | enum_action_message_type {  
  ACTION_UNKNOWN_MESSAGE = 0
, ACTION_MULTI_PRIMARY_MESSAGE = 1
, ACTION_PRIMARY_ELECTION_MESSAGE = 2
, ACTION_SET_COMMUNICATION_PROTOCOL_MESSAGE = 3
,  
  ACTION_MESSAGE_END = 4
 
 } | 
|   | Enum for the types of message / actions.  More...
  | 
|   | 
| enum   | enum_action_message_phase {  
  ACTION_UNKNOWN_PHASE = 0
, ACTION_START_PHASE = 1
, ACTION_END_PHASE = 2
, ACTION_ABORT_PHASE = 3
,  
  ACTION_PHASE_END = 4
 
 } | 
|   | Enum for the phase of the action in the message.  More...
  | 
|   | 
| enum   | enum_action_initiator_and_action {  
  ACTION_INITIATOR_UNKNOWN = 0
, ACTION_UDF_SWITCH_TO_MULTI_PRIMARY_MODE = 1
, ACTION_UDF_SET_PRIMARY = 2
, ACTION_UDF_SWITCH_TO_SINGLE_PRIMARY_MODE = 3
,  
  ACTION_UDF_SWITCH_TO_SINGLE_PRIMARY_MODE_UUID = 4
, ACTION_UDF_COMMUNICATION_PROTOCOL_MESSAGE = 5
, ACTION_INITIATOR_END = 6
 
 } | 
|   | Enum to identify initiator and action.  More...
  | 
|   | 
| enum   | enum_cargo_type {  
  CT_UNKNOWN = 0
, CT_CERTIFICATION_MESSAGE = 1
, CT_TRANSACTION_MESSAGE = 2
, CT_RECOVERY_MESSAGE = 3
,  
  CT_MEMBER_INFO_MESSAGE = 4
, CT_MEMBER_INFO_MANAGER_MESSAGE = 5
, CT_PIPELINE_STATS_MEMBER_MESSAGE = 6
, CT_SINGLE_PRIMARY_MESSAGE = 7
,  
  CT_GROUP_ACTION_MESSAGE = 8
, CT_GROUP_VALIDATION_MESSAGE = 9
, CT_SYNC_BEFORE_EXECUTION_MESSAGE = 10
, CT_TRANSACTION_WITH_GUARANTEE_MESSAGE = 11
,  
  CT_TRANSACTION_PREPARED_MESSAGE = 12
, CT_MESSAGE_SERVICE_MESSAGE = 13
, CT_RECOVERY_METADATA_MESSAGE = 14
, CT_MAX = 15
 
 } | 
|   | The different cargo type codes.  More...
  | 
|   | 
 | 
| static enum_action_message_type  | get_action_type (const uchar *buf) | 
|   | Check what is the action that this message encodes from a buffer.  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...
  | 
|   | 
 | 
| 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...
  | 
|   |