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 91 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 100 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 50 of file RPageStorage.cxx.

◆ GetBuffer()

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

Definition at line 109 of file RPageStorage.hxx.

◆ GetBufferSize()

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

Definition at line 117 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 73 of file RPageStorage.cxx.

◆ GetDataSize()

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

Definition at line 112 of file RPageStorage.hxx.

◆ GetHasChecksum()

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

Definition at line 123 of file RPageStorage.hxx.

◆ GetNElements()

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

Definition at line 120 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 110 of file RPageStorage.hxx.

◆ SetBufferSize()

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

Definition at line 118 of file RPageStorage.hxx.

◆ SetHasChecksum()

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

Definition at line 124 of file RPageStorage.hxx.

◆ SetNElements()

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

Definition at line 121 of file RPageStorage.hxx.

◆ VerifyChecksumIfEnabled()

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

Definition at line 62 of file RPageStorage.cxx.

Member Data Documentation

◆ fBuffer

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

Definition at line 93 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 94 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 96 of file RPageStorage.hxx.

◆ fNElements

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

Definition at line 95 of file RPageStorage.hxx.

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

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