Helper structure concentrating the functionality required to locate an ntuple within a DAOS container.
It includes a hashing function that converts the RNTuple's name into a 32-bit identifier; this value is used to index the subspace for the ntuple among all objects in the container. A zero-value hash value is reserved for storing any future metadata related to container-wide management; a zero-index ntuple is thus disallowed and remapped to "1". Once the index is computed, InitNTupleDescriptorBuilder()
can be called to return a partially-filled builder with the ntuple's anchor, header and footer, lacking only pagelists. Upon that call, a copy of the anchor is stored in fAnchor
.
Definition at line 104 of file RPageStorageDaos.hxx.
Public Member Functions | |
RDaosContainerNTupleLocator ()=default | |
RDaosContainerNTupleLocator (const std::string &ntupleName) | |
ntuple_index_t | GetIndex () const |
int | InitNTupleDescriptorBuilder (RDaosContainer &cont, RNTupleDecompressor &decompressor, RNTupleDescriptorBuilder &builder) |
bool | IsValid () |
Static Public Member Functions | |
static ntuple_index_t | Hash (const std::string &ntupleName) |
static std::pair< RDaosContainerNTupleLocator, RNTupleDescriptorBuilder > | LocateNTuple (RDaosContainer &cont, const std::string &ntupleName, RNTupleDecompressor &decompressor) |
Public Attributes | |
std::optional< ROOT::Experimental::Detail::RDaosNTupleAnchor > | fAnchor |
ntuple_index_t | fIndex {} |
std::string | fName {} |
Static Public Attributes | |
static const ntuple_index_t | kReservedIndex = 0 |
#include <ROOT/RPageStorageDaos.hxx>
|
default |
|
inlineexplicit |
Definition at line 111 of file RPageStorageDaos.hxx.
|
inline |
Definition at line 114 of file RPageStorageDaos.hxx.
|
inlinestatic |
Definition at line 115 of file RPageStorageDaos.hxx.
int ROOT::Experimental::Detail::RDaosContainerNTupleLocator::InitNTupleDescriptorBuilder | ( | RDaosContainer & | cont, |
RNTupleDecompressor & | decompressor, | ||
RNTupleDescriptorBuilder & | builder | ||
) |
Definition at line 167 of file RPageStorageDaos.cxx.
|
inline |
Definition at line 113 of file RPageStorageDaos.hxx.
|
static |
Definition at line 207 of file RPageStorageDaos.cxx.
std::optional<ROOT::Experimental::Detail::RDaosNTupleAnchor> ROOT::Experimental::Detail::RDaosContainerNTupleLocator::fAnchor |
Definition at line 107 of file RPageStorageDaos.hxx.
ntuple_index_t ROOT::Experimental::Detail::RDaosContainerNTupleLocator::fIndex {} |
Definition at line 106 of file RPageStorageDaos.hxx.
std::string ROOT::Experimental::Detail::RDaosContainerNTupleLocator::fName {} |
Definition at line 105 of file RPageStorageDaos.hxx.
|
static |
Definition at line 108 of file RPageStorageDaos.hxx.