24#ifndef TRANSACTION_WITH_GUARANTEE_MESSAGE_INCLUDED
25#define TRANSACTION_WITH_GUARANTEE_MESSAGE_INCLUDED
59 uint64_t payload_capacity,
80 uint64_t
length()
override;
107 const unsigned char *)
override;
This class serves as data container for information flowing in the GCS ecosystem.
Definition: gcs_message.h:48
Definition: transaction_message_interface.h:41
Definition: transaction_with_guarantee_message.h:36
uint64_t length() override
Length of the message.
Definition: transaction_with_guarantee_message.cc:73
Gcs_message_data * m_gcs_message_data
Definition: transaction_with_guarantee_message.h:110
~Transaction_with_guarantee_message() override
Definition: transaction_with_guarantee_message.cc:58
void encode_payload(std::vector< unsigned char > *buffer) const override
Encodes the contents of this instance payload into the buffer.
Definition: transaction_with_guarantee_message.cc:104
Gcs_message_data * get_message_data_and_reset() override
Get the Gcs_message_data object, which contains the serialized transaction data.
Definition: transaction_with_guarantee_message.cc:83
enum_payload_item_type
Definition: transaction_with_guarantee_message.h:38
@ PIT_MAX
Definition: transaction_with_guarantee_message.h:49
@ PIT_UNKNOWN
Definition: transaction_with_guarantee_message.h:40
@ PIT_TRANSACTION_DATA
Definition: transaction_with_guarantee_message.h:43
@ PIT_TRANSACTION_CONSISTENCY_LEVEL
Definition: transaction_with_guarantee_message.h:46
Transaction_with_guarantee_message(uint64_t payload_capacity, enum_group_replication_consistency_level consistency_level)
Constructor.
Definition: transaction_with_guarantee_message.cc:32
void decode_payload(const unsigned char *buffer, const unsigned char *) override
Decodes the contents of the buffer and sets the payload field values according to the values decoded.
Definition: transaction_with_guarantee_message.cc:110
bool write(const unsigned char *buffer, my_off_t length) override
Overrides Basic_ostream::write().
Definition: transaction_with_guarantee_message.cc:63
enum_group_replication_consistency_level m_consistency_level
Definition: transaction_with_guarantee_message.h:112
static enum_group_replication_consistency_level decode_and_get_consistency_level(const unsigned char *buffer, size_t)
Decode transaction consistency without unmarshal transaction data.
Definition: transaction_with_guarantee_message.cc:117
static const uint64_t s_consistency_level_pit_size
Definition: transaction_with_guarantee_message.h:111
ulonglong my_off_t
Definition: my_inttypes.h:72
mutable_buffer buffer(void *p, size_t n) noexcept
Definition: buffer.h:420
API for Group Replication plugin.
enum_group_replication_consistency_level
Definition: plugin_group_replication.h:35