55 const uint8_t *
const uncompressedData,
56 uint64_t uncompressedDataSize)
66 const uint8_t *
const uncompressedData,
67 uint64_t uncompressedDataSize,
68 const std::string &outputFile)
const;
73 const std::string &outputFile)
const;
77 const std::string &inputFile)
82 const std::string &inputFile,
83 const std::string &outputFile)
const;
87 const uint8_t *
const compressedData,
88 uint64_t compressedDataSize)
98 const std::string &input)
103 const std::string &inputFile,
104 const std::string &outputFile)
const;
108 const uint8_t *
const compressedData,
109 const uint64_t compressedDataSize,
110 const std::string &outputFile)
const;
115 const std::string &outputFile)
const;
130 const GZip &other) =
delete;
147 const GZip& other) =
delete;
158 initCompressionStream()
189 uint64_t &totalCompressedBytes,
191 bool compressedBufIsChunk,
192 z_stream &strm)
const;
202 initDecompressionStream()
230 uint64_t &totalUncompressedBytes,
232 bool uncompressedBufIsChunk,
233 z_stream &strm)
const;
236 static const uint8_t GZIP_WBITS_MAGIC = 16;
Common interface for classes providing compressing and decompressing functionality.
An IO::Compressor for gzip compression from zlib.
static const std::string INPUT_DATA_TYPE
The type of data being compressed.
Memory::uint8Array compress(const Memory::uint8Array &uncompressedData) const
Compress a buffer.
static const std::string COMPRESSION_LEVEL
How thorough the compression should be.
Memory::uint8Array decompress(const Memory::uint8Array &compressedData) const
Decompress a compressed buffer.
Memory::uint8Array decompress(const std::string &input) const
Decompress a compressed buffer into a file.
void compress(const uint8_t *const uncompressedData, uint64_t uncompressedDataSize, const std::string &outputFile) const
Compress a buffer.
static const std::string COMPRESSION_METHOD
Which underlying method in the compressor.
void compress(const std::string &inputFile, const std::string &outputFile) const
Compress a file.
Memory::uint8Array decompress(const uint8_t *const compressedData, uint64_t compressedDataSize) const
Decompress a compressed buffer.
static const std::string CHUNK_SIZE
How many bytes to work at a time.
GZip & operator=(const GZip &other)=delete
Assignment overload (disabled).
Memory::uint8Array compress(const uint8_t *const uncompressedData, uint64_t uncompressedDataSize) const
Compress a buffer.
GZip(const GZip &other)=delete
Copy constructor (disabled).
static const std::string COMPRESSION_STRATEGY
Which underlying algorithm to use.
static const std::string MEMORY_LEVEL
How much memory for internal compression state.
void decompress(const Memory::uint8Array &compressedData, const std::string &outputFile) const
Decompress a file.
void decompress(const std::string &inputFile, const std::string &outputFile) const
Decompress a file.
Memory::uint8Array compress(const std::string &inputFile) const
Compress a file.
void decompress(const uint8_t *const compressedData, const uint64_t compressedDataSize, const std::string &outputFile) const
Decompress a file.
static const std::string WINDOW_BITS
Window size.
void compress(const Memory::uint8Array &uncompressedData, const std::string &outputFile) const
Compress a buffer.
This software was developed at the National Institute of Standards and Technology (NIST) by employees...