Trippin Cyril
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | List of all members
trippingcyril::GZipCompressor Class Reference

A gzip implementation of the Compressor interface. More...

#include <Compressor.h>

Inheritance diagram for trippingcyril::GZipCompressor:
[legend]
Collaboration diagram for trippingcyril::GZipCompressor:
[legend]

Public Member Functions

 GZipCompressor (Writer *pWriter, int level=6, int memory_level=8)
 
virtual ~GZipCompressor ()
 
int Write (const char *data, size_t len) override
 
- Public Member Functions inherited from trippingcyril::Compressor
 Compressor (Writer *pWriter)
 
virtual ~Compressor ()
 
const uint64_t totalBytesIn () const
 
WritergetWriter () const
 
- Public Member Functions inherited from trippingcyril::Writer
int WriteString (const String &data)
 
virtual bool shouldDelete () const override
 

Additional Inherited Members

- Static Public Attributes inherited from trippingcyril::Writer
static const int BUFFER_SIZE
 
- Protected Attributes inherited from trippingcyril::Compressor
uint64_t _total_in
 
Writer_writer
 

Detailed Description

A gzip implementation of the Compressor interface.

Constructor & Destructor Documentation

trippingcyril::GZipCompressor::GZipCompressor ( Writer pWriter,
int  level = 6,
int  memory_level = 8 
)

General constructor

Parameters
pWriterThe underlying writer to write the output to
levelThe compression level
memory_levelThe internal gzip memory level
Exceptions
std::runtime_errorIn case initializing zlib goes wrong
virtual trippingcyril::GZipCompressor::~GZipCompressor ( )
virtual

Member Function Documentation

int trippingcyril::GZipCompressor::Write ( const char *  data,
size_t  len 
)
overridevirtual

Feed data into the compressor to compress

Parameters
dataThe actual data to compress
lenThe length of the data to compress
Returns
Amount of output bytes

Implements trippingcyril::Compressor.


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