Botan  2.1.0
Crypto and TLS for C++11
Public Member Functions | List of all members
Botan::Stream_Compression Class Referenceabstract

#include <compression.h>

Inheritance diagram for Botan::Stream_Compression:
Botan::Compression_Algorithm Botan::Bzip2_Compression Botan::Deflate_Compression Botan::Gzip_Compression Botan::LZMA_Compression Botan::Zlib_Compression

Public Member Functions

void clear () finaloverride
 
void finish (secure_vector< uint8_t > &buf, size_t offset) finaloverride
 
virtual std::string name () const =0
 
void update (secure_vector< uint8_t > &buf, size_t offset, bool flush) finaloverride
 

Detailed Description

Used to implement compression using Compression_Stream

Definition at line 132 of file compression.h.

Member Function Documentation

void Botan::Stream_Compression::clear ( )
finaloverridevirtual

Reset the state and abort the current message; start can be called again to process a new message.

Implements Botan::Compression_Algorithm.

Definition at line 55 of file compress_utils.cpp.

Referenced by finish().

56  {
57  m_stream.reset();
58  }
void Botan::Stream_Compression::finish ( secure_vector< uint8_t > &  final_block,
size_t  offset 
)
finaloverridevirtual

Finish compressing

Parameters
final_blockin/out parameter
offsetan offset into final_block to begin processing

Implements Botan::Compression_Algorithm.

Definition at line 111 of file compress_utils.cpp.

References BOTAN_ASSERT, and clear().

112  {
113  BOTAN_ASSERT(m_stream, "Initialized");
114  process(buf, offset, m_stream->finish_flag());
115  clear();
116  }
#define BOTAN_ASSERT(expr, assertion_made)
Definition: assert.h:27
void clear() finaloverride
virtual std::string Botan::Compression_Algorithm::name ( ) const
pure virtualinherited
void Botan::Stream_Compression::update ( secure_vector< uint8_t > &  buf,
size_t  offset,
bool  flush 
)
finaloverridevirtual

Process some data. Input must be in size update_granularity() uint8_t blocks.

Parameters
bufin/out parameter which will possibly be resized or swapped
offsetan offset into blocks to begin processing
flushif true the compressor will be told to flush state

Implements Botan::Compression_Algorithm.

Definition at line 105 of file compress_utils.cpp.

References BOTAN_ASSERT.

106  {
107  BOTAN_ASSERT(m_stream, "Initialized");
108  process(buf, offset, flush ? m_stream->flush_flag() : m_stream->run_flag());
109  }
#define BOTAN_ASSERT(expr, assertion_made)
Definition: assert.h:27

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