24#ifndef TRANSACTION_WITH_GUARANTEE_MESSAGE_INCLUDED
25#define TRANSACTION_WITH_GUARANTEE_MESSAGE_INCLUDED
62 uint64_t payload_capacity,
83 uint64_t
length()
override;
122 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
static const uint64_t s_sent_timestamp_pit_size
Definition: transaction_with_guarantee_message.h:128
uint64_t length() override
Length of the message.
Definition: transaction_with_guarantee_message.cc:78
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.
Definition: transaction_with_guarantee_message.cc:153
Gcs_message_data * m_gcs_message_data
Definition: transaction_with_guarantee_message.h:125
~Transaction_with_guarantee_message() override
Definition: transaction_with_guarantee_message.cc:63
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:118
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:88
enum_payload_item_type
Definition: transaction_with_guarantee_message.h:38
@ PIT_MAX
Definition: transaction_with_guarantee_message.h:52
@ PIT_UNKNOWN
Definition: transaction_with_guarantee_message.h:40
@ PIT_TRANSACTION_DATA
Definition: transaction_with_guarantee_message.h:43
@ PIT_SENT_TIMESTAMP
Definition: transaction_with_guarantee_message.h:49
@ 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:36
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:124
bool write(const unsigned char *buffer, my_off_t length) override
Overrides Basic_ostream::write().
Definition: transaction_with_guarantee_message.cc:68
enum_group_replication_consistency_level m_consistency_level
Definition: transaction_with_guarantee_message.h:127
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:131
static const uint64_t s_consistency_level_pit_size
Definition: transaction_with_guarantee_message.h:126
ulonglong my_off_t
Definition: my_inttypes.h:72
mutable_buffer buffer(void *p, size_t n) noexcept
Definition: buffer.h:418
API for Group Replication plugin.
enum_group_replication_consistency_level
Definition: plugin_group_replication.h:35