PageBucket< PageT > Class Template Reference

PageBucket represents a bucket of Pages which share something in common. More...

#include <PageBucket.h>

List of all members.

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 PageT>
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

template<class PageT>
typedef IntrusiveList<PageT,PageBucketListNode> PageBucket< PageT >::PageList

Definition at line 45 of file PageBucket.h.

template<class PageT>
typedef IntrusiveListIter<PageT,PageBucketListNode> PageBucket< PageT >::PageListIter

Definition at line 46 of file PageBucket.h.

template<class PageT>
typedef IntrusiveListMutator<PageT,PageBucketListNode> PageBucket< PageT >::PageListMutator

Definition at line 47 of file PageBucket.h.


Constructor & Destructor Documentation

template<class PageT>
PageBucket< PageT >::PageBucket (  )  [inline, explicit]

Definition at line 59 of file PageBucket.h.

00060     {
00061     }


Member Data Documentation

template<class PageT>
SXMutex PageBucket< PageT >::mutex

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().

template<class PageT>
PageList PageBucket< PageT >::pageList

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:
Generated on Mon Jun 22 04:00:40 2009 for Fennel by  doxygen 1.5.1