Storage provider that reads ntuple pages from a file.
Definition at line 117 of file RPageStorageFile.hxx.
|
| RPageSourceFile (const RPageSourceFile &)=delete |
|
| RPageSourceFile (RPageSourceFile &&)=delete |
|
| RPageSourceFile (std::string_view ntupleName, std::string_view path, const ROOT::RNTupleReadOptions &options) |
|
| RPageSourceFile (std::string_view ntupleName, std::unique_ptr< ROOT::Internal::RRawFile > file, const ROOT::RNTupleReadOptions &options) |
|
| ~RPageSourceFile () override |
|
std::vector< std::unique_ptr< RCluster > > | LoadClusters (std::span< RCluster::RKey > clusterKeys) final |
| Populates all the pages of the given cluster ids and columns; it is possible that some columns do not contain any pages.
|
|
void | LoadSealedPage (ROOT::DescriptorId_t physicalColumnId, RNTupleLocalIndex localIndex, RSealedPage &sealedPage) final |
| Read the packed and compressed bytes of a page into the memory buffer provided by sealedPage .
|
|
RPageSourceFile & | operator= (const RPageSourceFile &)=delete |
|
RPageSourceFile & | operator= (RPageSourceFile &&)=delete |
|
| RPageSource (const RPageSource &)=delete |
|
| RPageSource (RPageSource &&)=delete |
|
| RPageSource (std::string_view ntupleName, const ROOT::RNTupleReadOptions &fOptions) |
|
| ~RPageSource () override |
|
ColumnHandle_t | AddColumn (ROOT::DescriptorId_t fieldId, ROOT::Internal::RColumn &column) override |
| Register a new column.
|
|
void | Attach (RNTupleSerializer::EDescriptorDeserializeMode mode=RNTupleSerializer::EDescriptorDeserializeMode::kForReading) |
| Open the physical storage container and deserialize header and footer.
|
|
std::unique_ptr< RPageSource > | Clone () const |
| Open the same storage multiple time, e.g.
|
|
void | DropColumn (ColumnHandle_t columnHandle) override |
| Unregisters a column.
|
|
REntryRange | GetEntryRange () const |
|
ROOT::NTupleSize_t | GetNElements (ColumnHandle_t columnHandle) |
|
ROOT::NTupleSize_t | GetNEntries () |
|
const ROOT::RNTupleReadOptions & | GetReadOptions () const |
|
const RSharedDescriptorGuard | GetSharedDescriptorGuard () const |
| Takes the read lock for the descriptor.
|
|
EPageStorageType | GetType () final |
| Whether the concrete implementation is a sink or a source.
|
|
virtual ROOT::Internal::RPageRef | LoadPage (ColumnHandle_t columnHandle, RNTupleLocalIndex localIndex) |
| Another version of LoadPage that allows to specify cluster-relative indexes.
|
|
virtual ROOT::Internal::RPageRef | LoadPage (ColumnHandle_t columnHandle, ROOT::NTupleSize_t globalIndex) |
| Allocates and fills a page that contains the index-th element.
|
|
void | LoadStructure () |
| Loads header and footer without decompressing or deserializing them.
|
|
RPageSource & | operator= (const RPageSource &)=delete |
|
RPageSource & | operator= (RPageSource &&)=delete |
|
void | SetEntryRange (const REntryRange &range) |
| Promise to only read from the given entry range.
|
|
RResult< ROOT::Internal::RPage > | UnsealPage (const RSealedPage &sealedPage, const ROOT::Internal::RColumnElementBase &element) |
|
void | UnzipCluster (RCluster *cluster) |
| Parallel decompression and unpacking of the pages in the given cluster.
|
|
| RPageStorage (const RPageStorage &other)=delete |
|
| RPageStorage (RPageStorage &&other)=default |
|
| RPageStorage (std::string_view name) |
|
virtual | ~RPageStorage () |
|
ROOT::DescriptorId_t | GetColumnId (ColumnHandle_t columnHandle) const |
|
virtual Detail::RNTupleMetrics & | GetMetrics () |
| Returns the default metrics object.
|
|
const std::string & | GetNTupleName () const |
| Returns the NTuple name.
|
|
RPageStorage & | operator= (const RPageStorage &other)=delete |
|
RPageStorage & | operator= (RPageStorage &&other)=default |
|
void | SetTaskScheduler (RTaskScheduler *taskScheduler) |
|
Populates all the pages of the given cluster ids and columns; it is possible that some columns do not contain any pages.
The page source may load more columns than the minimal necessary set from columns
. To indicate which columns have been loaded, LoadClusters()
must mark them with
SetColumnAvailable(). That includes the ones from the
columnsthat don't have pages; otherwise subsequent requests for the cluster would assume an incomplete cluster and trigger loading again.
LoadClusters()` is typically called from the I/O thread of a cluster pool, i.e. the method runs concurrently to other methods of the page source.
Implements ROOT::Experimental::Internal::RPageSource.
Definition at line 627 of file RPageStorageFile.cxx.