MySQL 9.1.0
Source Code Documentation
mysql::binlog::event::compression::None_dec Class Reference

Decompressor subclass that only copies input to output without decompressing it. More...

#include <none_dec.h>

Inheritance diagram for mysql::binlog::event::compression::None_dec:
[legend]

Public Types

using Char_t = unsigned char
 
using Size_t = mysql::containers::buffers::Buffer_view< Char_t >::Size_t
 
- Public Types inherited from mysql::binlog::event::compression::Decompressor
using Char_t = unsigned char
 
using Size_t = mysql::containers::buffers::Buffer_view< Char_t >::Size_t
 
using Managed_buffer_t = mysql::containers::buffers::Managed_buffer< Char_t >
 
using Grow_constraint_t = mysql::containers::buffers::Grow_constraint
 

Public Member Functions

 None_dec ()=default
 
 ~None_dec () override=default
 
 None_dec (const None_dec &)=delete
 
 None_dec (const None_dec &&)=delete
 
None_decoperator= (const None_dec &)=delete
 
None_decoperator= (const None_dec &&)=delete
 
- Public Member Functions inherited from mysql::binlog::event::compression::Decompressor
 Decompressor ()=default
 
 Decompressor (const Decompressor &)=delete
 
 Decompressor (const Decompressor &&)=delete
 
const Decompressoroperator= (const Decompressor &)=delete
 
const Decompressoroperator= (const Decompressor &&)=delete
 
virtual ~Decompressor ()=default
 
type get_type_code () const
 
void reset ()
 Reset the frame. More...
 
template<class Input_char_t >
void feed (const Input_char_t *input_data, Size_t input_size)
 Submit data to decompress. More...
 
Decompress_status decompress (Managed_buffer_t &out, Size_t output_size)
 Decompress an exact, given number of bytes. More...
 
std::pair< Decompress_status, Size_tdecompress (Char_t *out, Size_t output_size)
 Decompress an exact, given number of bytes. More...
 
Grow_constraint_t get_grow_constraint_hint () const
 Return a Grow_constraint that may be used with the Managed_buffer storing the output, in order to optimize memory usage for a particular compression algorithm. More...
 

Static Public Attributes

static constexpr type type_code = NONE
 

Private Member Functions

type do_get_type_code () const override
 
void do_reset () override
 Implement do_reset. More...
 
void do_feed (const Char_t *input_data, Size_t input_size) override
 Implement feed. More...
 
std::pair< Decompress_status, Size_tdo_decompress (Char_t *out, Size_t output_size) override
 Implement decompress. More...
 

Private Attributes

const Char_tm_input_data
 Input data. More...
 
Size_t m_input_size
 
Size_t m_input_position
 

Detailed Description

Decompressor subclass that only copies input to output without decompressing it.

Member Typedef Documentation

◆ Char_t

◆ Size_t

Constructor & Destructor Documentation

◆ None_dec() [1/3]

mysql::binlog::event::compression::None_dec::None_dec ( )
default

◆ ~None_dec()

mysql::binlog::event::compression::None_dec::~None_dec ( )
overridedefault

◆ None_dec() [2/3]

mysql::binlog::event::compression::None_dec::None_dec ( const None_dec )
delete

◆ None_dec() [3/3]

mysql::binlog::event::compression::None_dec::None_dec ( const None_dec &&  )
delete

Member Function Documentation

◆ do_decompress()

std::pair< Decompress_status, Decompressor::Size_t > mysql::binlog::event::compression::None_dec::do_decompress ( Char_t out,
Size_t  output_size 
)
overrideprivatevirtual

Implement decompress.

This differs from decompress in that it does not have to reset the frame when returning out_of_memory or corrupted; the caller does that.

Implements mysql::binlog::event::compression::Decompressor.

◆ do_feed()

void mysql::binlog::event::compression::None_dec::do_feed ( const Char_t input_data,
Size_t  input_size 
)
overrideprivatevirtual

◆ do_get_type_code()

type mysql::binlog::event::compression::None_dec::do_get_type_code ( ) const
overrideprivatevirtual

◆ do_reset()

void mysql::binlog::event::compression::None_dec::do_reset ( )
overrideprivatevirtual

Implement do_reset.

Implements mysql::binlog::event::compression::Decompressor.

◆ operator=() [1/2]

None_dec & mysql::binlog::event::compression::None_dec::operator= ( const None_dec &&  )
delete

◆ operator=() [2/2]

None_dec & mysql::binlog::event::compression::None_dec::operator= ( const None_dec )
delete

Member Data Documentation

◆ m_input_data

const Char_t* mysql::binlog::event::compression::None_dec::m_input_data
private

Input data.

◆ m_input_position

Size_t mysql::binlog::event::compression::None_dec::m_input_position
private

◆ m_input_size

Size_t mysql::binlog::event::compression::None_dec::m_input_size
private

◆ type_code

constexpr type mysql::binlog::event::compression::None_dec::type_code = NONE
staticconstexpr

The documentation for this class was generated from the following files: