SpiecsEngine
 
Loading...
Searching...
No Matches
Spices::PageCache Class Reference

Page memory cache. Third level of memory allocator. More...

#include <PageCache.h>

Public Member Functions

 PageCache ()=default
 Constructor Function.
 
virtual ~PageCache ()=default
 Destructor Function.
 
 PageCache (const PageCache &)=delete
 Copy Constructor Function.
 
PageCacheoperator= (const PageCache &)=delete
 Copy Assignment Operation.
 
scl::spanNewSpan (size_t k)
 Fetch pages span.
 
scl::spanMapObjectToSpan (void *obj) const
 Find span by memory pointer.
 
void ReleaseSpanToPageCache (scl::span *s)
 Release span from cc to pc,.
 

Static Public Member Functions

static PageCacheGet ()
 Get this single instance.
 

Private Member Functions

scl::spanInternalNewSpan (size_t k)
 Fetch pages span(internal call).
 

Private Attributes

std::array< scl::span_list, MemoryPool::PAGE_NUMm_SpanLists
 FreeList Array.
 
ObjectPool< scl::spanm_SpanPool
 ObjectPool for span.
 
std::mutex m_Mutex
 mutex for pc.
 
scl::radix_trie< 64 - MemoryPool::PAGE_SHIFT, 3 > m_IdSpanMap
 radix trie for [pageId - span]
 

Static Private Attributes

static PageCache m_PageCache
 this single instance.
 

Detailed Description

Page memory cache. Third level of memory allocator.

Definition at line 20 of file PageCache.h.


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