Shared memory page identifier, address, or handler. More...

#include <Page.h>

Collaboration diagram for Ipc::Mem::PageId:

Public Types

enum  Purpose {
  cachePage,
  ioPage,
  maxPurpose
}
 

Public Member Functions

 PageId ()
 
bool set () const
 true if and only if both critical components have been initialized More...
 
 operator SaferBool () const
 

Public Attributes

const typedef uint32_t PageId::* SaferBool
 
PoolId pool
 
uint32_t number
 page number within the segment More...
 
Purpose purpose
 page purpose More...
 

Detailed Description

Definition at line 23 of file Page.h.

Member Enumeration Documentation

◆ Purpose

Enumerator
cachePage 
ioPage 
maxPurpose 

Definition at line 44 of file Page.h.

Constructor & Destructor Documentation

◆ PageId()

Ipc::Mem::PageId::PageId ( )
inline

Definition at line 26 of file Page.h.

Member Function Documentation

◆ operator SaferBool()

Ipc::Mem::PageId::operator SaferBool ( ) const
inline

Definition at line 33 of file Page.h.

References number, and set().

◆ set()

bool Ipc::Mem::PageId::set ( ) const
inline

Definition at line 29 of file Page.h.

References number, and pool.

Referenced by operator SaferBool(), MemStore::reserveSapForWriting(), and Rock::SwapDir::reserveSlotForWriting().

Member Data Documentation

◆ number

◆ pool

PoolId Ipc::Mem::PageId::pool

The ID of a PagePool (and/or PageStack) this page belongs to. Positive values are (ab)used to detect in-use pages. See set(). Eventually, they may identify a PageStack in a multi-segment PagePool. These IDs also distinguish page pools/stacks in debugging logs.

Definition at line 39 of file Page.h.

Referenced by Rock::Rebuild::freeSlot(), Rock::SwapDir::noteFreeMapSlice(), MemStore::noteFreeMapSlice(), Ipc::Mem::operator<<(), Ipc::Mem::PageStack::pageIdIsValid(), Ipc::Mem::PageStack::pop(), and set().

◆ purpose

Purpose Ipc::Mem::PageId::purpose

Definition at line 45 of file Page.h.

Referenced by Ipc::Mem::PagePool::get(), and Ipc::Mem::PagePool::put().

◆ SaferBool

const typedef uint32_t PageId::* Ipc::Mem::PageId::SaferBool

Definition at line 32 of file Page.h.


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

 

Introduction

Documentation

Support

Miscellaneous