Fennel: PageBucket< PageT > Class Template Reference (original) (raw)
PageBucket represents a bucket of Pages which share something in common. More...
#include <[PageBucket.h](PageBucket%5F8h-source.html)>
| Public Types | |
|---|---|
| typedef IntrusiveList< PageT, PageBucketListNode > | PageList |
| typedef IntrusiveListIter< PageT, PageBucketListNode > | PageListIter |
| typedef IntrusiveListMutator< PageT, PageBucketListNode > | PageListMutator |
| Public Member Functions | |
| PageBucket () | |
| Public Attributes | |
| SXMutex | mutex |
| SXMutex protecting this bucket. | |
| PageList | pageList |
| List of pages in this bucket. |
Detailed Description
template
class PageBucket< PageT >
PageBucket represents a bucket of Pages which share something in common.
For example, in CacheImpl, pages are hashed into buckets based on their BlockIds; a collection of free pages is also maintained as a bucket.
Definition at line 38 of file PageBucket.h.
Member Typedef Documentation
Constructor & Destructor Documentation
Member Data Documentation
SXMutex protecting this bucket.
Definition at line 52 of file PageBucket.h.
Referenced by CacheImpl< PageT, VictimPolicyT >::getAllocatedPageCount(), CacheImpl< PageT, VictimPolicyT >::isPageMapped(), CacheImpl< PageT, VictimPolicyT >::lookupPage(), CacheImpl< PageT, VictimPolicyT >::mapPage(), CacheImpl< PageT, VictimPolicyT >::setAllocatedPageCount(), and CacheImpl< PageT, VictimPolicyT >::unmapPage().
List of pages in this bucket.
Definition at line 57 of file PageBucket.h.
Referenced by CacheImpl< PageT, VictimPolicyT >::allocatePages(), CacheImpl< PageT, VictimPolicyT >::closeImpl(), CacheImpl< PageT, VictimPolicyT >::getAllocatedPageCount(), CacheImpl< PageT, VictimPolicyT >::isPageMapped(), CacheImpl< PageT, VictimPolicyT >::lookupPage(), CacheImpl< PageT, VictimPolicyT >::mapPage(), CacheImpl< PageT, VictimPolicyT >::setAllocatedPageCount(), and CacheImpl< PageT, VictimPolicyT >::unmapPage().
The documentation for this class was generated from the following file:
- /home/pub/open/dev/fennel/cache/PageBucket.h
