Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
SkippableFrame Class Reference

#include <SkippableFrame.h>

Public Member Functions

 SkippableFrame (std::uint32_t size)
 
ByteRange data () const
 
std::size_t frameSize () const
 
 SkippableFrame (std::uint32_t size)
 
ByteRange data () const
 
std::size_t frameSize () const
 
 SkippableFrame (std::uint32_t size)
 
ByteRange data () const
 
std::size_t frameSize () const
 

Static Public Member Functions

static std::size_t tryRead (ByteRange bytes)
 
static std::size_t tryRead (ByteRange bytes)
 
static std::size_t tryRead (ByteRange bytes)
 

Static Public Attributes

static constexpr std::size_t kSize = 12
 

Detailed Description

We put a skippable frame before each frame. It contains a skippable frame magic number, the size of the skippable frame, and the size of the next frame. Each skippable frame is exactly 12 bytes in little endian format. The first 8 bytes are for compatibility with the ZSTD format. If we have N threads, the output will look like

[0x184D2A50|4|size1] [frame1 of size size1] [0x184D2A50|4|size2] [frame2 of size size2] ... [0x184D2A50|4|sizeN] [frameN of size sizeN]

Each sizeX is 4 bytes.

These skippable frames should allow us to skip through the compressed file and only load at most N pages.

Constructor & Destructor Documentation

◆ SkippableFrame() [1/3]

SkippableFrame ( std::uint32_t size)
explicit

◆ SkippableFrame() [2/3]

SkippableFrame ( std::uint32_t size)
explicit

◆ SkippableFrame() [3/3]

SkippableFrame ( std::uint32_t size)
explicit

Member Function Documentation

◆ data() [1/3]

ByteRange data ( ) const
inline

◆ data() [2/3]

ByteRange data ( ) const
inline

◆ data() [3/3]

ByteRange data ( ) const
inline

◆ frameSize() [1/3]

std::size_t frameSize ( ) const
inline

◆ frameSize() [2/3]

std::size_t frameSize ( ) const
inline

◆ frameSize() [3/3]

std::size_t frameSize ( ) const
inline

◆ tryRead() [1/3]

std::size_t tryRead ( ByteRange bytes)
static

◆ tryRead() [2/3]

static std::size_t tryRead ( ByteRange bytes)
static

◆ tryRead() [3/3]

static std::size_t tryRead ( ByteRange bytes)
static

Field Documentation

◆ kSize

static constexpr std::size_t kSize = 12
staticconstexpr

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