24#ifndef LIBBINLOGEVENTS_COMPRESSION_ZSTD_DEC_H_
25#define LIBBINLOGEVENTS_COMPRESSION_ZSTD_DEC_H_
33namespace transaction {
34namespace compression {
Abstract base class for decompressors.
Definition: decompressor.h:57
unsigned char Char_t
Definition: decompressor.h:59
mysqlns::buffer::Buffer_view< Char_t >::Size_t Size_t
Definition: decompressor.h:60
mysqlns::buffer::Grow_constraint Grow_constraint_t
Definition: decompressor.h:62
Decompressor class that uses the ZSTD library.
Definition: zstd_dec.h:37
ZSTD_inBuffer m_ibuf
ZSTD input buffer.
Definition: zstd_dec.h:76
type do_get_type_code() const override
Definition: zstd_dec.cpp:42
~Zstd_dec() override
Definition: zstd_dec.cpp:33
void destroy()
Deallocate the ZSTD decompression context.
Definition: zstd_dec.cpp:35
std::pair< Decompress_status, Size_t > do_decompress(Char_t *out, Size_t output_size) override
Implement decompress.
Definition: zstd_dec.cpp:69
Zstd_dec & operator=(const Zstd_dec &&)=delete
static constexpr type type_code
Definition: zstd_dec.h:42
ZSTD_DStream * m_ctx
ZSTD decompression context object.
Definition: zstd_dec.h:73
Zstd_dec(const Zstd_dec &&)=delete
bool m_frame_boundary
Definition: zstd_dec.h:78
Zstd_dec & operator=(const Zstd_dec &)=delete
Zstd_dec(const Zstd_dec &)=delete
void do_reset() override
Implement do_reset.
Definition: zstd_dec.cpp:44
Grow_constraint_t do_get_grow_constraint_hint() const override
Implement get_grow_constraint_hint.
Definition: zstd_dec.cpp:132
void do_feed(const Char_t *input_data, Size_t input_size) override
Implement feed.
Definition: zstd_dec.cpp:56
Zstd_dec()
Definition: zstd_dec.cpp:31
Description of a heuristic to determine how much memory to allocate.
Definition: grow_constraint.h:67
type
Definition: base.h:33
@ ZSTD
Definition: base.h:35
The namespace contains classes representing events that can occur in a replication stream.
#define NODISCARD
The function attribute [[NODISCARD]] is a replacement for [[nodiscard]] to workaround a gcc bug.
Definition: nodiscard.h:47