Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Internal::RNTupleSerializer::RContext Class Reference

The serialization context is used for the piecewise serialization of a descriptor.

During header serialization, the mapping of in-memory field and column IDs to on-disk IDs is built so that it can be used for the footer serialization in a second step.

Definition at line 92 of file RNTupleSerialize.hxx.

Public Member Functions

void BeginHeaderExtension ()
 Mark the first on-disk field ID that is part of the schema extension.
 
std::size_t GetHeaderExtensionOffset () const
 Return the offset of the first element in fOnDisk2MemFieldIDs that is part of the schema extension.
 
std::uint64_t GetHeaderSize () const
 
std::uint64_t GetHeaderXxHash3 () const
 
DescriptorId_t GetMemClusterGroupId (DescriptorId_t onDiskId) const
 
DescriptorId_t GetMemClusterId (DescriptorId_t onDiskId) const
 
DescriptorId_t GetMemColumnId (DescriptorId_t onDiskId) const
 
DescriptorId_t GetMemFieldId (DescriptorId_t onDiskId) const
 
DescriptorId_t GetOnDiskClusterGroupId (DescriptorId_t memId) const
 
DescriptorId_t GetOnDiskClusterId (DescriptorId_t memId) const
 
DescriptorId_t GetOnDiskColumnId (DescriptorId_t memId) const
 
DescriptorId_t GetOnDiskFieldId (DescriptorId_t memId) const
 
const std::vector< DescriptorId_t > & GetOnDiskFieldList () const
 Return a vector containing the in-memory field ID for each on-disk counterpart, in order, i.e.
 
DescriptorId_t MapClusterGroupId (DescriptorId_t memId)
 
DescriptorId_t MapClusterId (DescriptorId_t memId)
 
DescriptorId_t MapColumnId (DescriptorId_t memId)
 Map an in-memory column ID to its on-disk counterpart.
 
DescriptorId_t MapFieldId (DescriptorId_t memId)
 Map an in-memory field ID to its on-disk counterpart.
 
void MapSchema (const RNTupleDescriptor &desc, bool forHeaderExtension)
 Map in-memory field and column IDs to their on-disk counterparts.
 
void SetHeaderSize (std::uint64_t size)
 
void SetHeaderXxHash3 (std::uint64_t xxhash3)
 

Private Attributes

std::size_t fHeaderExtensionOffset = -1U
 
std::uint64_t fHeaderSize = 0
 
std::uint64_t fHeaderXxHash3 = 0
 
std::map< DescriptorId_t, DescriptorId_tfMem2OnDiskClusterGroupIDs
 
std::map< DescriptorId_t, DescriptorId_tfMem2OnDiskClusterIDs
 
std::map< DescriptorId_t, DescriptorId_tfMem2OnDiskColumnIDs
 
std::map< DescriptorId_t, DescriptorId_tfMem2OnDiskFieldIDs
 
std::vector< DescriptorId_tfOnDisk2MemClusterGroupIDs
 
std::vector< DescriptorId_tfOnDisk2MemClusterIDs
 
std::vector< DescriptorId_tfOnDisk2MemColumnIDs
 
std::vector< DescriptorId_tfOnDisk2MemFieldIDs
 

#include <ROOT/RNTupleSerialize.hxx>

Member Function Documentation

◆ BeginHeaderExtension()

void ROOT::Experimental::Internal::RNTupleSerializer::RContext::BeginHeaderExtension ( )
inline

Mark the first on-disk field ID that is part of the schema extension.

Definition at line 166 of file RNTupleSerialize.hxx.

◆ GetHeaderExtensionOffset()

std::size_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::GetHeaderExtensionOffset ( ) const
inline

Return the offset of the first element in fOnDisk2MemFieldIDs that is part of the schema extension.

Definition at line 168 of file RNTupleSerialize.hxx.

◆ GetHeaderSize()

std::uint64_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::GetHeaderSize ( ) const
inline

Definition at line 108 of file RNTupleSerialize.hxx.

◆ GetHeaderXxHash3()

std::uint64_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::GetHeaderXxHash3 ( ) const
inline

Definition at line 110 of file RNTupleSerialize.hxx.

◆ GetMemClusterGroupId()

DescriptorId_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::GetMemClusterGroupId ( DescriptorId_t  onDiskId) const
inline

Definition at line 157 of file RNTupleSerialize.hxx.

◆ GetMemClusterId()

DescriptorId_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::GetMemClusterId ( DescriptorId_t  onDiskId) const
inline

Definition at line 156 of file RNTupleSerialize.hxx.

◆ GetMemColumnId()

DescriptorId_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::GetMemColumnId ( DescriptorId_t  onDiskId) const
inline

Definition at line 155 of file RNTupleSerialize.hxx.

◆ GetMemFieldId()

DescriptorId_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::GetMemFieldId ( DescriptorId_t  onDiskId) const
inline

Definition at line 154 of file RNTupleSerialize.hxx.

◆ GetOnDiskClusterGroupId()

DescriptorId_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::GetOnDiskClusterGroupId ( DescriptorId_t  memId) const
inline

Definition at line 150 of file RNTupleSerialize.hxx.

◆ GetOnDiskClusterId()

DescriptorId_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::GetOnDiskClusterId ( DescriptorId_t  memId) const
inline

Definition at line 149 of file RNTupleSerialize.hxx.

◆ GetOnDiskColumnId()

DescriptorId_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::GetOnDiskColumnId ( DescriptorId_t  memId) const
inline

Definition at line 148 of file RNTupleSerialize.hxx.

◆ GetOnDiskFieldId()

DescriptorId_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::GetOnDiskFieldId ( DescriptorId_t  memId) const
inline

Definition at line 147 of file RNTupleSerialize.hxx.

◆ GetOnDiskFieldList()

const std::vector< DescriptorId_t > & ROOT::Experimental::Internal::RNTupleSerializer::RContext::GetOnDiskFieldList ( ) const
inline

Return a vector containing the in-memory field ID for each on-disk counterpart, in order, i.e.

the i-th value corresponds to the in-memory field ID for i-th on-disk ID

Definition at line 164 of file RNTupleSerialize.hxx.

◆ MapClusterGroupId()

DescriptorId_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::MapClusterGroupId ( DescriptorId_t  memId)
inline

Definition at line 135 of file RNTupleSerialize.hxx.

◆ MapClusterId()

DescriptorId_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::MapClusterId ( DescriptorId_t  memId)
inline

Definition at line 129 of file RNTupleSerialize.hxx.

◆ MapColumnId()

DescriptorId_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::MapColumnId ( DescriptorId_t  memId)
inline

Map an in-memory column ID to its on-disk counterpart.

It is allowed to call this function multiple times for the same memId, in which case the return value is the on-disk ID assigned on the first call.

Definition at line 122 of file RNTupleSerialize.hxx.

◆ MapFieldId()

DescriptorId_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::MapFieldId ( DescriptorId_t  memId)
inline

Map an in-memory field ID to its on-disk counterpart.

It is allowed to call this function multiple times for the same memId, in which case the return value is the on-disk ID assigned on the first call.

Definition at line 113 of file RNTupleSerialize.hxx.

◆ MapSchema()

void ROOT::Experimental::Internal::RNTupleSerializer::RContext::MapSchema ( const RNTupleDescriptor desc,
bool  forHeaderExtension 
)

Map in-memory field and column IDs to their on-disk counterparts.

This function is unconditionally called during header serialization. This function must be manually called after an incremental schema update as page list serialization requires all columns to be mapped.

Definition at line 1020 of file RNTupleSerialize.cxx.

◆ SetHeaderSize()

void ROOT::Experimental::Internal::RNTupleSerializer::RContext::SetHeaderSize ( std::uint64_t  size)
inline

Definition at line 107 of file RNTupleSerialize.hxx.

◆ SetHeaderXxHash3()

void ROOT::Experimental::Internal::RNTupleSerializer::RContext::SetHeaderXxHash3 ( std::uint64_t  xxhash3)
inline

Definition at line 109 of file RNTupleSerialize.hxx.

Member Data Documentation

◆ fHeaderExtensionOffset

std::size_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::fHeaderExtensionOffset = -1U
private

Definition at line 104 of file RNTupleSerialize.hxx.

◆ fHeaderSize

std::uint64_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::fHeaderSize = 0
private

Definition at line 94 of file RNTupleSerialize.hxx.

◆ fHeaderXxHash3

std::uint64_t ROOT::Experimental::Internal::RNTupleSerializer::RContext::fHeaderXxHash3 = 0
private

Definition at line 95 of file RNTupleSerialize.hxx.

◆ fMem2OnDiskClusterGroupIDs

std::map<DescriptorId_t, DescriptorId_t> ROOT::Experimental::Internal::RNTupleSerializer::RContext::fMem2OnDiskClusterGroupIDs
private

Definition at line 99 of file RNTupleSerialize.hxx.

◆ fMem2OnDiskClusterIDs

std::map<DescriptorId_t, DescriptorId_t> ROOT::Experimental::Internal::RNTupleSerializer::RContext::fMem2OnDiskClusterIDs
private

Definition at line 98 of file RNTupleSerialize.hxx.

◆ fMem2OnDiskColumnIDs

std::map<DescriptorId_t, DescriptorId_t> ROOT::Experimental::Internal::RNTupleSerializer::RContext::fMem2OnDiskColumnIDs
private

Definition at line 97 of file RNTupleSerialize.hxx.

◆ fMem2OnDiskFieldIDs

std::map<DescriptorId_t, DescriptorId_t> ROOT::Experimental::Internal::RNTupleSerializer::RContext::fMem2OnDiskFieldIDs
private

Definition at line 96 of file RNTupleSerialize.hxx.

◆ fOnDisk2MemClusterGroupIDs

std::vector<DescriptorId_t> ROOT::Experimental::Internal::RNTupleSerializer::RContext::fOnDisk2MemClusterGroupIDs
private

Definition at line 103 of file RNTupleSerialize.hxx.

◆ fOnDisk2MemClusterIDs

std::vector<DescriptorId_t> ROOT::Experimental::Internal::RNTupleSerializer::RContext::fOnDisk2MemClusterIDs
private

Definition at line 102 of file RNTupleSerialize.hxx.

◆ fOnDisk2MemColumnIDs

std::vector<DescriptorId_t> ROOT::Experimental::Internal::RNTupleSerializer::RContext::fOnDisk2MemColumnIDs
private

Definition at line 101 of file RNTupleSerialize.hxx.

◆ fOnDisk2MemFieldIDs

std::vector<DescriptorId_t> ROOT::Experimental::Internal::RNTupleSerializer::RContext::fOnDisk2MemFieldIDs
private

Definition at line 100 of file RNTupleSerialize.hxx.

Libraries for ROOT::Experimental::Internal::RNTupleSerializer::RContext:

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