Helper class to compress data blocks in the ROOT compression frame format.
Definition at line 40 of file RNTupleZip.hxx.
|
using | Writer_t = std::function< void(const void *buffer, size_t nbytes, size_t offset)> |
| Data might be overwritten, if a zipped block in the middle of a large input data stream turns out to be uncompressible.
|
|
|
static Writer_t | MakeMemCopyWriter (unsigned char *dest) |
|
static std::size_t | Zip (const void *from, std::size_t nbytes, int compression, void *to) |
| Returns the size of the compressed data, written into the provided output buffer.
|
|
|
using | Buffer_t = std::array< unsigned char, kMAXZIPBUF > |
|
#include <ROOT/RNTupleZip.hxx>
◆ Buffer_t
◆ Writer_t
Data might be overwritten, if a zipped block in the middle of a large input data stream turns out to be uncompressible.
Definition at line 48 of file RNTupleZip.hxx.
◆ RNTupleCompressor() [1/3]
ROOT::Experimental::Detail::RNTupleCompressor::RNTupleCompressor |
( |
| ) |
|
|
inline |
◆ RNTupleCompressor() [2/3]
ROOT::Experimental::Detail::RNTupleCompressor::RNTupleCompressor |
( |
const RNTupleCompressor & |
other | ) |
|
|
delete |
◆ RNTupleCompressor() [3/3]
ROOT::Experimental::Detail::RNTupleCompressor::RNTupleCompressor |
( |
RNTupleCompressor && |
other | ) |
|
|
default |
◆ GetZipBuffer()
void * ROOT::Experimental::Detail::RNTupleCompressor::GetZipBuffer |
( |
| ) |
|
|
inline |
◆ MakeMemCopyWriter()
static Writer_t ROOT::Experimental::Detail::RNTupleCompressor::MakeMemCopyWriter |
( |
unsigned char * |
dest | ) |
|
|
inlinestatic |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ Zip() [1/3]
size_t ROOT::Experimental::Detail::RNTupleCompressor::Zip |
( |
const void * |
from, |
|
|
size_t |
nbytes, |
|
|
int |
compression |
|
) |
| |
|
inline |
Returns the size of the compressed data block.
The data is written into the zip buffer. This works only for small input buffer up to 16MB (kMAXZIPBUF)
Definition at line 102 of file RNTupleZip.hxx.
◆ Zip() [2/3]
size_t ROOT::Experimental::Detail::RNTupleCompressor::Zip |
( |
const void * |
from, |
|
|
size_t |
nbytes, |
|
|
int |
compression, |
|
|
Writer_t |
fnWriter |
|
) |
| |
|
inline |
Returns the size of the compressed data.
Data is compressed in 16MB (kMAXZIPBUF) blocks and written piecewise using the provided writer
Definition at line 63 of file RNTupleZip.hxx.
◆ Zip() [3/3]
static std::size_t ROOT::Experimental::Detail::RNTupleCompressor::Zip |
( |
const void * |
from, |
|
|
std::size_t |
nbytes, |
|
|
int |
compression, |
|
|
void * |
to |
|
) |
| |
|
inlinestatic |
Returns the size of the compressed data, written into the provided output buffer.
Definition at line 128 of file RNTupleZip.hxx.
◆ fZipBuffer
std::unique_ptr<Buffer_t> ROOT::Experimental::Detail::RNTupleCompressor::fZipBuffer |
|
private |
◆ kMaxSingleBlock
constexpr size_t ROOT::Experimental::Detail::RNTupleCompressor::kMaxSingleBlock = kMAXZIPBUF |
|
staticconstexpr |
The documentation for this class was generated from the following file: