Tkrzw
Public Member Functions | List of all members
tkrzw::AESCompressor Class Referencefinal

Compressor implemeted with AES encryption. More...

#include <tkrzw_compress.h>

Public Member Functions

 AESCompressor (std::string_view key, uint32_t rnd_seed=0)
 Constructor. More...
 
virtual ~AESCompressor ()
 Destructor. More...
 
bool IsSupported () const override
 Checks whether the implementation is actually supported. More...
 
char * Compress (const void *buf, size_t size, size_t *sp) const override
 Compresses a serial data. More...
 
char * Decompress (const void *buf, size_t size, size_t *sp) const override
 Decompresses a serial data. More...
 
std::unique_ptr< CompressorMakeCompressor () const override
 Makes a new Compressor object of the same concrete class. More...
 
- Public Member Functions inherited from tkrzw::Compressor
virtual ~Compressor ()=default
 Destructor. More...
 
const std::type_info & GetType () const
 Gets the type information of the actual class. More...
 

Detailed Description

Compressor implemeted with AES encryption.

Constructor & Destructor Documentation

◆ AESCompressor()

tkrzw::AESCompressor::AESCompressor ( std::string_view  key,
uint32_t  rnd_seed = 0 
)
explicit

Constructor.

Parameters
keyThe encription key.
rnd_seedThe random seed to make initialization vectors for encoding. If it is zero, a real random device generates the seed.

◆ ~AESCompressor()

virtual tkrzw::AESCompressor::~AESCompressor ( )
virtual

Destructor.

Member Function Documentation

◆ IsSupported()

bool tkrzw::AESCompressor::IsSupported ( ) const
overridevirtual

Checks whether the implementation is actually supported.

Returns
True if the implementation is actually supported.

Implements tkrzw::Compressor.

◆ Compress()

char* tkrzw::AESCompressor::Compress ( const void *  buf,
size_t  size,
size_t *  sp 
) const
overridevirtual

Compresses a serial data.

Parameters
bufthe input buffer.
sizethe size of the input buffer.
spthe pointer to the variable into which the size of the region of the return value is assigned.
Returns
The pointer to the result data, or nullptr on failure.

Because the region of the return value is allocated with the xmalloc function, it should be released with the xfree function.

Implements tkrzw::Compressor.

◆ Decompress()

char* tkrzw::AESCompressor::Decompress ( const void *  buf,
size_t  size,
size_t *  sp 
) const
overridevirtual

Decompresses a serial data.

Parameters
bufthe input buffer.
sizethe size of the input buffer.
spthe pointer to the variable into which the size of the region of the return value is assigned.
Returns
The pointer to the result data, or nullptr on failure.

Because the region of the return value is allocated with the xmalloc function, it should be released with the xfree function.

Implements tkrzw::Compressor.

◆ MakeCompressor()

std::unique_ptr<Compressor> tkrzw::AESCompressor::MakeCompressor ( ) const
overridevirtual

Makes a new Compressor object of the same concrete class.

Returns
The new Compressor object.

Implements tkrzw::Compressor.