24#ifndef GROUP_REPLICATION_DECOMPRESSION_INCLUDE
25#define GROUP_REPLICATION_DECOMPRESSION_INCLUDE
100 const unsigned char *compressed_data,
size_t compressed_data_length,
109 std::pair<unsigned char *, std::size_t>
get_buffer();
enum_compression_type
Compression Type.
Definition: gr_compression.h:46
Definition: gr_decompression.h:36
Managed_buffer_t m_managed_buffer
The buffer holding decompressed data.
Definition: gr_decompression.h:126
GR_decompress::enum_decompression_error decompress(const unsigned char *compressed_data, size_t compressed_data_length, size_t output_size)
This shall decompress the buffer provided and put the decompressed payload into the output buffer i....
Definition: gr_decompression.cc:78
std::string m_compressor_name
The compression library name.
Definition: gr_decompression.h:120
GR_compress::enum_compression_type m_compression_type
The compression type.
Definition: gr_decompression.h:116
Decompressor_t::Char_t Char_t
Definition: gr_decompression.h:42
~GR_decompress()
Definition: gr_decompression.cc:71
std::basic_string< Char_t > String_t
Definition: gr_decompression.h:43
std::pair< unsigned char *, std::size_t > get_buffer()
Definition: gr_decompression.cc:176
Decompress_status_t m_status
The compression status.
Definition: gr_decompression.h:123
GR_decompress(GR_compress::enum_compression_type compression_type=GR_compress::enum_compression_type::ZSTD_COMPRESSION)
Definition: gr_decompression.cc:32
Decompressor_t * m_decompressor
ZSTD decompressor class object.
Definition: gr_decompression.h:113
enum_decompression_error
Decompression Error.
Definition: gr_decompression.h:48
@ ER_DECOMPRESSION_INIT_FAILURE
@ ER_DECOMPRESSION_EXCEEDS_MAX_BUFFER_SIZE
@ ER_DECOMPRESSION_CORRUPTED
@ ER_DECOMPRESSION_OUT_OF_MEMORY
@ ER_DECOMPRESSION_TRUNCATED
@ ER_COMPRESSION_TYPE_UNKOWN
Abstract base class for decompressors.
Definition: decompressor.h:57
unsigned char Char_t
Definition: decompressor.h:59
mysql::binlog::event::compression::buffer::Managed_buffer< Char_t > Managed_buffer_t
Definition: decompressor.h:63
Owned, growable, contiguous memory buffer.
Definition: managed_buffer.h:109
Container class that provides a contiguous memory buffer to the caller, which the caller can request ...
Decompress_status
Definition: decompress_status.h:32