MySQL 8.0.39
Source Code Documentation
binary_log::transaction::compression::None_comp Class Reference

Compressor subclass that only copies input to output without compressing it. More...

#include <none_comp.h>

Inheritance diagram for binary_log::transaction::compression::None_comp:
[legend]

Public Types

using Char_t = Managed_buffer_sequence_t::Char_t
 
using Managed_buffer_sequence_t = mysqlns::buffer::Managed_buffer_sequence<>
 
using Size_t = Managed_buffer_sequence_t::Size_t
 
- Public Types inherited from binary_log::transaction::compression::Compressor
using Managed_buffer_sequence_t = mysqlns::buffer::Managed_buffer_sequence<>
 
using Char_t = Managed_buffer_sequence_t::Char_t
 
using Size_t = Managed_buffer_sequence_t::Size_t
 
using Grow_constraint_t = mysqlns::buffer::Grow_constraint
 

Static Public Attributes

static constexpr type type_code = NONE
 
- Static Public Attributes inherited from binary_log::transaction::compression::Compressor
static constexpr Size_t pledged_input_size_unset
 

Private Member Functions

type do_get_type_code () const override
 
void do_reset () override
 Implement reset. More...
 
void do_feed (const Char_t *input_data, Size_t input_size) override
 Implement feed. More...
 
Compress_status do_compress (Managed_buffer_sequence_t &out) override
 Implement compress. More...
 
Compress_status do_finish (Managed_buffer_sequence_t &out) override
 Implement finish. More...
 

Private Attributes

const Char_tm_input_data {nullptr}
 Data previously provided to do_feed. More...
 
Size_t m_input_size {0}
 Size data previously provided to do_feed. More...
 

Additional Inherited Members

- Public Member Functions inherited from binary_log::transaction::compression::Compressor
 Compressor ()=default
 
 Compressor (const Compressor &other)=delete
 
 Compressor (Compressor &&other)=delete
 
Compressoroperator= (const Compressor &other)=delete
 
Compressoroperator= (Compressor &&other)=delete
 
virtual ~Compressor ()=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 be compressed. More...
 
Compress_status compress (Managed_buffer_sequence_t &out)
 Consume all input previously given in the feed function. More...
 
Compress_status finish (Managed_buffer_sequence_t &out)
 Consume all input, produce all output, and end the frame. More...
 
Grow_constraint_t get_grow_constraint_hint () const
 Return a Grow_constraint that may be used with the Managed_buffer_sequence storing the output, in order to optimize memory usage for a particular compression algorithm. More...
 
void set_pledged_input_size (Size_t size)
 Declare that the input size will be exactly as given. More...
 
Size_t get_pledged_input_size () const
 Return the size previously provided to set_pledged_input_size, or pledged_input_size_unset if no pledged size has been set. More...
 

Detailed Description

Compressor subclass that only copies input to output without compressing it.

Member Typedef Documentation

◆ Char_t

using binary_log::transaction::compression::Compressor::Char_t = Managed_buffer_sequence_t::Char_t

◆ Managed_buffer_sequence_t

◆ Size_t

using binary_log::transaction::compression::Compressor::Size_t = Managed_buffer_sequence_t::Size_t

Member Function Documentation

◆ do_compress()

Compress_status binary_log::transaction::compression::None_comp::do_compress ( Managed_buffer_sequence_t out)
overrideprivatevirtual

Implement compress.

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

For None_comp, this is guaranteed to produce all output on success.

Implements binary_log::transaction::compression::Compressor.

◆ do_feed()

void binary_log::transaction::compression::None_comp::do_feed ( const Char_t input_data,
Size_t  input_size 
)
overrideprivatevirtual

Implement feed.

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

Implements binary_log::transaction::compression::Compressor.

◆ do_finish()

Compress_status binary_log::transaction::compression::None_comp::do_finish ( Managed_buffer_sequence_t out)
overrideprivatevirtual

Implement finish.

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

Implementations may assume that compress has been called, since finish does that.

For None_comp, this is equivalent to compress.

Implements binary_log::transaction::compression::Compressor.

◆ do_get_type_code()

type binary_log::transaction::compression::None_comp::do_get_type_code ( ) const
overrideprivatevirtual

◆ do_reset()

void binary_log::transaction::compression::None_comp::do_reset ( )
overrideprivatevirtual

Implement reset.

No-op for this class.

Implements binary_log::transaction::compression::Compressor.

Member Data Documentation

◆ m_input_data

const Char_t* binary_log::transaction::compression::None_comp::m_input_data {nullptr}
private

Data previously provided to do_feed.

◆ m_input_size

Size_t binary_log::transaction::compression::None_comp::m_input_size {0}
private

Size data previously provided to do_feed.

◆ type_code

constexpr type binary_log::transaction::compression::None_comp::type_code = NONE
staticconstexpr

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