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. | |
| PageCache & | operator= (const PageCache &)=delete |
| Copy Assignment Operation. | |
| scl::span * | NewSpan (size_t k) |
| Fetch pages span. | |
| scl::span * | MapObjectToSpan (void *obj) const |
| Find span by memory pointer. | |
| void | ReleaseSpanToPageCache (scl::span *s) |
| Release span from cc to pc,. | |
Static Public Member Functions | |
| static PageCache * | Get () |
| Get this single instance. | |
Private Member Functions | |
| scl::span * | InternalNewSpan (size_t k) |
| Fetch pages span(internal call). | |
Private Attributes | |
| std::array< scl::span_list, MemoryPool::PAGE_NUM > | m_SpanLists |
| FreeList Array. | |
| ObjectPool< scl::span > | m_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. | |
Page memory cache. Third level of memory allocator.
Definition at line 20 of file PageCache.h.