Project
Loading...
Searching...
No Matches
o2::aod::native Namespace Reference

Namespaces

namespace  test
 

Classes

struct  BasketRef
 
class  BranchDecoder
 
struct  BranchInfo
 
class  ByteSource
 
struct  ColumnOp
 
struct  CorruptData
 
class  Cursor
 
struct  DirectoryInfo
 
struct  FileHeader
 
struct  FormatError
 
class  HttpByteSource
 
struct  IoError
 Failure of the underlying transport. More...
 
struct  KeyInfo
 
class  LocalByteSource
 
struct  Options
 
class  PayloadDecompressor
 
class  PlannedByteSource
 
class  ReadBufferPool
 
class  ReadPlan
 
struct  ReadRequest
 
class  RootFile
 
struct  TreeInfo
 
struct  UnsupportedLayout
 
struct  UnsupportedVersion
 A class version we have no hardcoded layout for. More...
 
class  XRootDByteSource
 

Functions

std::shared_ptr< arrow::Schema > physicalSchema (TreeInfo const &tree)
 
std::shared_ptr< arrow::Schema > datasetSchema (std::shared_ptr< arrow::Schema > const &physical)
 The physical schema without the *_size fields, as DataInputDirector derives it.
 
std::vector< ColumnOp > planColumns (TreeInfo const &tree, std::shared_ptr< arrow::Schema > const &schema, BranchDecoder &decoder, arrow::MemoryPool *pool, int64_t &rows)
 
void executeColumnOp (BranchDecoder &decoder, ColumnOp const &op, uint8_t *dst)
 Fills the buffer of op, which is exactly op.byteSize bytes.
 
std::shared_ptr< arrow::RecordBatch > makeBatch (std::shared_ptr< arrow::Schema > const &schema, std::vector< ColumnOp > const &ops, std::vector< std::shared_ptr< arrow::Buffer > > const &buffers, int64_t rows)
 Wraps the buffers of ops (one per op, in order) into a record batch.
 
arrow::Result< std::shared_ptr< arrow::RecordBatch > > readTree (ByteSource &source, TreeInfo const &tree, Options const &options, arrow::MemoryPool *pool=arrow::default_memory_pool())
 Reads a whole tree into heap memory: plan, execute, wrap.
 
size_t decompressBounded (std::span< const uint8_t > src, uint32_t objLen, uint8_t *dst, size_t maxOut, std::string const &file="<memory>", uint64_t fileOffset=0)
 
uint64_t xxh64 (std::span< const uint8_t > data)
 XXH64 with seed 0, as used for the LZ4 chunk checksum.
 
std::vector< KeyInfo > highestCycles (std::vector< KeyInfo > const &keys)
 Keeps only the highest cycle of each name, preserving first-seen order.
 
void byteswapInPlace (uint8_t *data, size_t count, size_t typeSize)
 Byteswaps count big-endian values of typeSize bytes in place.
 
size_t leafElementSize (char leafClass)
 Size in bytes of one value of a leaf class on disk.
 
std::map< std::string, std::vector< int > > const & supportedClassVersions ()
 
TreeInfo readTreePayload (std::span< const uint8_t > payload, uint16_t keylen, std::string const &file, uint64_t fileOffset)
 
std::map< std::string, std::string > readStringMapPayload (std::span< const uint8_t > payload, uint16_t keylen, std::string const &file, uint64_t fileOffset)
 Deserializes a TMap of TObjString to TObjString (metaData, parentFiles).
 
template<typename T >
constexpr T bswap (T v)
 

Function Documentation

◆ bswap()

template<typename T >
constexpr T o2::aod::native::bswap ( T  v)
constexpr

Definition at line 22 of file Endian.h.

◆ byteswapInPlace()

void o2::aod::native::byteswapInPlace ( uint8_t *  data,
size_t  count,
size_t  typeSize 
)

Byteswaps count big-endian values of typeSize bytes in place.

Definition at line 46 of file Decoder.cxx.

◆ datasetSchema()

std::shared_ptr< arrow::Schema > o2::aod::native::datasetSchema ( std::shared_ptr< arrow::Schema > const &  physical)

The physical schema without the *_size fields, as DataInputDirector derives it.

Definition at line 95 of file ArrowTable.cxx.

◆ decompressBounded()

size_t o2::aod::native::decompressBounded ( std::span< const uint8_t >  src,
uint32_t  objLen,
uint8_t *  dst,
size_t  maxOut,
std::string const &  file = "<memory>",
uint64_t  fileOffset = 0 
)

Decompresses all chunks of a payload, writing at most maxOut bytes to dst. Returns the number of bytes written, which is min(objLen, maxOut).

Definition at line 310 of file Codecs.cxx.

◆ executeColumnOp()

void o2::aod::native::executeColumnOp ( BranchDecoder &  decoder,
ColumnOp const &  op,
uint8_t *  dst 
)

Fills the buffer of op, which is exactly op.byteSize bytes.

Definition at line 152 of file ArrowTable.cxx.

◆ highestCycles()

std::vector< KeyInfo > o2::aod::native::highestCycles ( std::vector< KeyInfo > const &  keys)

Keeps only the highest cycle of each name, preserving first-seen order.

Definition at line 154 of file Container.cxx.

◆ leafElementSize()

size_t o2::aod::native::leafElementSize ( char  leafClass)

Size in bytes of one value of a leaf class on disk.

Definition at line 503 of file Objects.cxx.

◆ makeBatch()

std::shared_ptr< arrow::RecordBatch > o2::aod::native::makeBatch ( std::shared_ptr< arrow::Schema > const &  schema,
std::vector< ColumnOp > const &  ops,
std::vector< std::shared_ptr< arrow::Buffer > > const &  buffers,
int64_t  rows 
)

Wraps the buffers of ops (one per op, in order) into a record batch.

Definition at line 168 of file ArrowTable.cxx.

◆ physicalSchema()

std::shared_ptr< arrow::Schema > o2::aod::native::physicalSchema ( TreeInfo const &  tree)

The physical schema of a tree, exactly as the TTree plugin's Inspect builds it: one field per branch, in branch order. A branch X_size becomes an int32 field and must be immediately followed by X, which becomes list(T).

Definition at line 65 of file ArrowTable.cxx.

◆ planColumns()

std::vector< ColumnOp > o2::aod::native::planColumns ( TreeInfo const &  tree,
std::shared_ptr< arrow::Schema > const &  schema,
BranchDecoder &  decoder,
arrow::MemoryPool *  pool,
int64_t &  rows 
)

Plans the reading of schema (a subset of the dataset schema) from tree, decoding VLA offsets into buffers from pool. Checks the row counts with the same errors as the TTree plugin. Returns the number of rows in rows.

Definition at line 106 of file ArrowTable.cxx.

◆ readStringMapPayload()

std::map< std::string, std::string > o2::aod::native::readStringMapPayload ( std::span< const uint8_t >  payload,
uint16_t  keylen,
std::string const &  file,
uint64_t  fileOffset 
)

Deserializes a TMap of TObjString to TObjString (metaData, parentFiles).

Definition at line 550 of file Objects.cxx.

◆ readTree()

arrow::Result< std::shared_ptr< arrow::RecordBatch > > o2::aod::native::readTree ( ByteSource &  source,
TreeInfo const &  tree,
Options const &  options,
arrow::MemoryPool *  pool = arrow::default_memory_pool() 
)

Reads a whole tree into heap memory: plan, execute, wrap.

Definition at line 193 of file ArrowTable.cxx.

◆ readTreePayload()

TreeInfo o2::aod::native::readTreePayload ( std::span< const uint8_t >  payload,
uint16_t  keylen,
std::string const &  file,
uint64_t  fileOffset 
)

Deserializes a TTree from the uncompressed payload of its key. keylen is needed because object references are relative to the start of the key.

Definition at line 544 of file Objects.cxx.

◆ supportedClassVersions()

std::map< std::string, std::vector< int > > const & o2::aod::native::supportedClassVersions ( )

The supported versions of each class we deserialize. Extend it only with versions found in the test corpus, each with its own layout function.

Definition at line 521 of file Objects.cxx.

◆ xxh64()

uint64_t o2::aod::native::xxh64 ( std::span< const uint8_t >  data)

XXH64 with seed 0, as used for the LZ4 chunk checksum.

Definition at line 319 of file Codecs.cxx.