Project
Loading...
Searching...
No Matches
o2::aod::native::BranchDecoder Class Reference

#include <Decoder.h>

Classes

struct  BasketValues
 

Public Member Functions

 BranchDecoder (ByteSource &source, Options const &options)
 
std::string const & url () const
 
void decodeValues (BranchInfo const &branch, uint8_t *dst, size_t nbytes)
 
void decodeVLAValues (BranchInfo const &branch, std::span< const int32_t > offsets, uint8_t *dst, size_t nbytes)
 
void decodeBooleans (BranchInfo const &branch, uint8_t *bitmap, size_t nbytes)
 
std::vector< int32_t > decodeOffsets (BranchInfo const &sizeBranch)
 Decodes a <col>_size branch into entries + 1 int32 offsets.
 

Static Public Attributes

static constexpr size_t kBooleanWindow = 64 * 1024
 Size of the boolean window, the only decode-side scratch memory.
 

Detailed Description

Decodes the baskets of a branch straight into caller-owned memory (a shared memory slice, or a heap buffer in tools and tests). Values are decompressed into the destination, stopping at the end of each basket's value region, and byteswapped there: no intermediate decode buffer.

Definition at line 31 of file Decoder.h.

Constructor & Destructor Documentation

◆ BranchDecoder()

o2::aod::native::BranchDecoder::BranchDecoder ( ByteSource &  source,
Options const &  options 
)

Definition at line 94 of file Decoder.cxx.

Member Function Documentation

◆ decodeBooleans()

void o2::aod::native::BranchDecoder::decodeBooleans ( BranchInfo const &  branch,
uint8_t *  bitmap,
size_t  nbytes 
)

Booleans (one byte each on disk) bit-packed into bitmap, which is zeroed first. nbytes is the full size of the bitmap.

Definition at line 250 of file Decoder.cxx.

◆ decodeOffsets()

std::vector< int32_t > o2::aod::native::BranchDecoder::decodeOffsets ( BranchInfo const &  sizeBranch)

Decodes a <col>_size branch into entries + 1 int32 offsets.

Definition at line 276 of file Decoder.cxx.

◆ decodeValues()

void o2::aod::native::BranchDecoder::decodeValues ( BranchInfo const &  branch,
uint8_t *  dst,
size_t  nbytes 
)

Values of a scalar or fixed-size array branch, dst holding exactly entries × fixedLen × element size bytes.

Definition at line 209 of file Decoder.cxx.

◆ decodeVLAValues()

void o2::aod::native::BranchDecoder::decodeVLAValues ( BranchInfo const &  branch,
std::span< const int32_t >  offsets,
uint8_t *  dst,
size_t  nbytes 
)

Values of a variable-length array branch. offsets are the entries + 1 offsets from decodeOffsets() on its count branch.

Definition at line 226 of file Decoder.cxx.

◆ url()

std::string const & o2::aod::native::BranchDecoder::url ( ) const
inline

Definition at line 38 of file Decoder.h.

Member Data Documentation

◆ kBooleanWindow

constexpr size_t o2::aod::native::BranchDecoder::kBooleanWindow = 64 * 1024
staticconstexpr

Size of the boolean window, the only decode-side scratch memory.

Definition at line 35 of file Decoder.h.


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