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

#include <Page.h>

Collaboration diagram for Ipc::Mem::PageId:

Public Types

enum  Purpose {
  cachePage ,
  ioPage ,
  maxPurpose
}
 
typedef const uint32_t PageId::* SaferBool
 

Public Member Functions

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

Public Attributes

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 Typedef Documentation

◆ SaferBool

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

Definition at line 32 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().


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors