Shared memory page identifier, address, or handler.
char * pagePointer(const PageId &page)
converts page handler into a temporary writeable shared memory pointer
Levels_t *const theLevels
number of shared memory pages used now for each purpose
PageStack::Levels_t Levels_t
Ipc::Mem::Pointer< PageStack > pageIndex
free pages index
unsigned int capacity() const
static Owner * Init(const char *const shmId, const Ipc::Mem::PoolId stackId, const unsigned int capacity, const size_t pageSize)
size_t level() const
approximate number of shared memory pages used now
void put(PageId &page)
makes identified page available as a free page to future get() callers
Ipc::Mem::Owner< PageStack > Owner
unsigned int size() const
lower bound for the number of free pages
bool get(const PageId::Purpose purpose, PageId &page)
sets page ID and returns true unless no free pages are found
std::atomic< size_t > Levels_t