Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
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 89 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]

◆ RSealedPage() [2/4]

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

Definition at line 98 of file RPageStorage.hxx.

◆ RSealedPage() [3/4]

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

◆ RSealedPage() [4/4]

Member Function Documentation

◆ ChecksumIfEnabled()

◆ GetBuffer()

Definition at line 107 of file RPageStorage.hxx.

◆ GetBufferSize()

Definition at line 115 of file RPageStorage.hxx.

◆ GetChecksum()

Returns a failure if the sealed page has no checksum.

Definition at line 95 of file RPageStorage.cxx.

◆ GetDataSize()

Definition at line 110 of file RPageStorage.hxx.

◆ GetHasChecksum()

◆ GetNElements()

Definition at line 118 of file RPageStorage.hxx.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ SetBuffer()

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

Definition at line 108 of file RPageStorage.hxx.

◆ SetBufferSize()

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

Definition at line 116 of file RPageStorage.hxx.

◆ SetHasChecksum()

Definition at line 122 of file RPageStorage.hxx.

◆ SetNElements()

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

Definition at line 119 of file RPageStorage.hxx.

◆ VerifyChecksumIfEnabled()

Member Data Documentation

◆ fBuffer

Definition at line 91 of file RPageStorage.hxx.

◆ fBufferSize

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

Definition at line 92 of file RPageStorage.hxx.

◆ fHasChecksum

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

Definition at line 94 of file RPageStorage.hxx.

◆ fNElements

Definition at line 93 of file RPageStorage.hxx.


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