rippled
Enumerations | Functions | Variables
ripple::compression Namespace Reference

Enumerations

enum  Algorithm : std::uint8_t { Algorithm::None = 0x00, Algorithm::LZ4 = 0x90 }
 
enum  Compressed : std::uint8_t { Compressed::On, Compressed::Off }
 

Functions

template<typename InputStream >
std::size_t decompress (InputStream &in, std::size_t inSize, std::uint8_t *decompressed, std::size_t decompressedSize, Algorithm algorithm=Algorithm::LZ4)
 Decompress input stream. More...
 
template<class BufferFactory >
std::size_t compress (void const *in, std::size_t inSize, BufferFactory &&bf, Algorithm algorithm=Algorithm::LZ4)
 Compress input data. More...
 

Variables

constexpr std::size_t headerBytes = 6
 
constexpr std::size_t headerBytesCompressed = 10
 

Enumeration Type Documentation

◆ Algorithm

Enumerator
None 
LZ4 

Definition at line 36 of file Compression.h.

◆ Compressed

Enumerator
On 
Off 

Definition at line 38 of file Compression.h.

Function Documentation

◆ decompress()

template<typename InputStream >
std::size_t ripple::compression::decompress ( InputStream &  in,
std::size_t  inSize,
std::uint8_t decompressed,
std::size_t  decompressedSize,
Algorithm  algorithm = Algorithm::LZ4 
)

Decompress input stream.

Template Parameters
InputStreamZeroCopyInputStream
Parameters
inInput source stream
inSizeSize of compressed data
decompressedBuffer to hold decompressed message
algorithmCompression algorithm type
Returns
Size of decompressed data or zero if failed to decompress

Definition at line 50 of file Compression.h.

◆ compress()

template<class BufferFactory >
std::size_t ripple::compression::compress ( void const *  in,
std::size_t  inSize,
BufferFactory &&  bf,
Algorithm  algorithm = Algorithm::LZ4 
)

Compress input data.

Template Parameters
BufferFactoryCallable object or lambda. Takes the requested buffer size and returns allocated buffer pointer.
Parameters
inData to compress
inSizeSize of the data
bfCompressed buffer allocator
algorithmCompression algorithm type
Returns
Size of compressed data, or zero if failed to compress

Definition at line 87 of file Compression.h.

Variable Documentation

◆ headerBytes

constexpr std::size_t ripple::compression::headerBytes = 6
constexpr

Definition at line 31 of file Compression.h.

◆ headerBytesCompressed

constexpr std::size_t ripple::compression::headerBytesCompressed = 10
constexpr

Definition at line 32 of file Compression.h.