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.