Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Internal::RPageStorage::RSealedPage Struct Reference

A sealed page contains the bytes of a page as written to storage (packed & compressed).

It is used as an input to UnsealPages() as well as to transfer pages between different storage media. RSealedPage does not own the buffer it is pointing to in order to not interfere with the memory management of concrete page sink and page source implementations.

Definition at line 92 of file RPageStorage.hxx.

Public Member Functions

 RSealedPage ()=default
 
 RSealedPage (const RSealedPage &other)=default
 
 RSealedPage (const void *buffer, std::size_t bufferSize, std::uint32_t nElements, bool hasChecksum=false)
 
 RSealedPage (RSealedPage &&other)=default
 
void ChecksumIfEnabled ()
 
const void * GetBuffer () const
 
std::size_t GetBufferSize () const
 
RResult< std::uint64_t > GetChecksum () const
 Returns a failure if the sealed page has no checksum.
 
std::size_t GetDataSize () const
 
bool GetHasChecksum () const
 
std::uint32_t GetNElements () const
 
RSealedPageoperator= (const RSealedPage &other)=default
 
RSealedPageoperator= (RSealedPage &&other)=default
 
void SetBuffer (const void *buffer)
 
void SetBufferSize (std::size_t bufferSize)
 
void SetHasChecksum (bool hasChecksum)
 
void SetNElements (std::uint32_t nElements)
 
RResult< void > VerifyChecksumIfEnabled () const
 

Private Attributes

const void * fBuffer = nullptr
 
std::size_t fBufferSize = 0
 Size of the page payload and the trailing checksum (if available)
 
bool fHasChecksum = false
 If set, the last 8 bytes of the buffer are the xxhash of the rest of the buffer.
 
std::uint32_t fNElements = 0
 

#include <ROOT/RPageStorage.hxx>

Constructor & Destructor Documentation

◆ RSealedPage() [1/4]

ROOT::Experimental::Internal::RPageStorage::RSealedPage::RSealedPage ( )
default

◆ RSealedPage() [2/4]

ROOT::Experimental::Internal::RPageStorage::RSealedPage::RSealedPage ( const void *  buffer,
std::size_t  bufferSize,
std::uint32_t  nElements,
bool  hasChecksum = false 
)
inline

Definition at line 101 of file RPageStorage.hxx.

◆ RSealedPage() [3/4]

ROOT::Experimental::Internal::RPageStorage::RSealedPage::RSealedPage ( const RSealedPage other)
default

◆ RSealedPage() [4/4]

ROOT::Experimental::Internal::RPageStorage::RSealedPage::RSealedPage ( RSealedPage &&  other)
default

Member Function Documentation

◆ ChecksumIfEnabled()

void ROOT::Experimental::Internal::RPageStorage::RSealedPage::ChecksumIfEnabled ( )

Definition at line 51 of file RPageStorage.cxx.

◆ GetBuffer()

const void * ROOT::Experimental::Internal::RPageStorage::RSealedPage::GetBuffer ( ) const
inline

Definition at line 110 of file RPageStorage.hxx.

◆ GetBufferSize()

std::size_t ROOT::Experimental::Internal::RPageStorage::RSealedPage::GetBufferSize ( ) const
inline

Definition at line 118 of file RPageStorage.hxx.

◆ GetChecksum()

ROOT::Experimental::RResult< std::uint64_t > ROOT::Experimental::Internal::RPageStorage::RSealedPage::GetChecksum ( ) const

Returns a failure if the sealed page has no checksum.

Definition at line 74 of file RPageStorage.cxx.

◆ GetDataSize()

std::size_t ROOT::Experimental::Internal::RPageStorage::RSealedPage::GetDataSize ( ) const
inline

Definition at line 113 of file RPageStorage.hxx.

◆ GetHasChecksum()

bool ROOT::Experimental::Internal::RPageStorage::RSealedPage::GetHasChecksum ( ) const
inline

Definition at line 124 of file RPageStorage.hxx.

◆ GetNElements()

std::uint32_t ROOT::Experimental::Internal::RPageStorage::RSealedPage::GetNElements ( ) const
inline

Definition at line 121 of file RPageStorage.hxx.

◆ operator=() [1/2]

RSealedPage & ROOT::Experimental::Internal::RPageStorage::RSealedPage::operator= ( const RSealedPage other)
default

◆ operator=() [2/2]

RSealedPage & ROOT::Experimental::Internal::RPageStorage::RSealedPage::operator= ( RSealedPage &&  other)
default

◆ SetBuffer()

void ROOT::Experimental::Internal::RPageStorage::RSealedPage::SetBuffer ( const void *  buffer)
inline

Definition at line 111 of file RPageStorage.hxx.

◆ SetBufferSize()

void ROOT::Experimental::Internal::RPageStorage::RSealedPage::SetBufferSize ( std::size_t  bufferSize)
inline

Definition at line 119 of file RPageStorage.hxx.

◆ SetHasChecksum()

void ROOT::Experimental::Internal::RPageStorage::RSealedPage::SetHasChecksum ( bool  hasChecksum)
inline

Definition at line 125 of file RPageStorage.hxx.

◆ SetNElements()

void ROOT::Experimental::Internal::RPageStorage::RSealedPage::SetNElements ( std::uint32_t  nElements)
inline

Definition at line 122 of file RPageStorage.hxx.

◆ VerifyChecksumIfEnabled()

ROOT::Experimental::RResult< void > ROOT::Experimental::Internal::RPageStorage::RSealedPage::VerifyChecksumIfEnabled ( ) const

Definition at line 63 of file RPageStorage.cxx.

Member Data Documentation

◆ fBuffer

const void* ROOT::Experimental::Internal::RPageStorage::RSealedPage::fBuffer = nullptr
private

Definition at line 94 of file RPageStorage.hxx.

◆ fBufferSize

std::size_t ROOT::Experimental::Internal::RPageStorage::RSealedPage::fBufferSize = 0
private

Size of the page payload and the trailing checksum (if available)

Definition at line 95 of file RPageStorage.hxx.

◆ fHasChecksum

bool ROOT::Experimental::Internal::RPageStorage::RSealedPage::fHasChecksum = false
private

If set, the last 8 bytes of the buffer are the xxhash of the rest of the buffer.

Definition at line 97 of file RPageStorage.hxx.

◆ fNElements

std::uint32_t ROOT::Experimental::Internal::RPageStorage::RSealedPage::fNElements = 0
private

Definition at line 96 of file RPageStorage.hxx.

Collaboration diagram for ROOT::Experimental::Internal::RPageStorage::RSealedPage:
[legend]

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