CernVM-FS
2.12.0
|
#include <bigqueue.h>
Public Member Functions | |
BigQueue () | |
BigQueue (const size_t num_items) | |
BigQueue (const BigQueue< Item > &other) | |
BigQueue< Item > & | operator= (const BigQueue< Item > &other) |
~BigQueue () | |
void | PushBack (const Item &item) |
void | PopFront () |
bool | Peek (Item **item) |
bool | IsEmpty () const |
void | Clear () |
size_t | size () const |
size_t | capacity () const |
Private Member Functions | |
size_t | GetHeadOffset () const |
size_t | GetAvailableSpace () const |
void | Alloc (const size_t num_elements) |
void | Dealloc () |
void | Migrate (size_t new_capacity) |
void | FreeBuffer (Item *buf, const size_t nitems) |
void | CopyFrom (const BigQueue< Item > &other) |
Private Attributes | |
Item * | buffer_ |
Item * | head_ |
size_t | size_ |
size_t | capacity_ |
Static Private Attributes | |
static const size_t | kNumInit = 64 |
static const size_t | kCompactThreshold = 64 |
This file is part of the CernVM File System.
Similar to bigvector, but queue semantics. Used by the negative entry tracker. Allocates with mmap in order to avoid memory fragmentation.
Definition at line 19 of file bigqueue.h.
Definition at line 21 of file bigqueue.h.
Definition at line 26 of file bigqueue.h.
Definition at line 32 of file bigqueue.h.
Definition at line 45 of file bigqueue.h.
|
inlineprivate |
Definition at line 94 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::BigQueue(), BigQueue< glue::DentryTracker::Entry >::Clear(), BigQueue< glue::DentryTracker::Entry >::CopyFrom(), and BigQueue< glue::DentryTracker::Entry >::Migrate().
|
inline |
Definition at line 83 of file bigqueue.h.
|
inline |
Definition at line 77 of file bigqueue.h.
|
inlineprivate |
Definition at line 131 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::BigQueue(), and BigQueue< glue::DentryTracker::Entry >::operator=().
|
inlineprivate |
Definition at line 101 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::Clear(), BigQueue< glue::DentryTracker::Entry >::operator=(), and BigQueue< glue::DentryTracker::Entry >::~BigQueue().
|
inlineprivate |
Definition at line 123 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::Dealloc(), and BigQueue< glue::DentryTracker::Entry >::Migrate().
|
inlineprivate |
Definition at line 90 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::PushBack().
|
inlineprivate |
Definition at line 89 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::CopyFrom(), BigQueue< glue::DentryTracker::Entry >::Dealloc(), BigQueue< glue::DentryTracker::Entry >::GetAvailableSpace(), and BigQueue< glue::DentryTracker::Entry >::Migrate().
|
inline |
Definition at line 73 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::Peek(), and BigQueue< glue::DentryTracker::Entry >::PopFront().
|
inlineprivate |
Definition at line 109 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::PopFront(), and BigQueue< glue::DentryTracker::Entry >::PushBack().
|
inline |
Definition at line 36 of file bigqueue.h.
|
inline |
Definition at line 66 of file bigqueue.h.
|
inline |
Definition at line 58 of file bigqueue.h.
|
inline |
Definition at line 49 of file bigqueue.h.
|
inline |
Definition at line 82 of file bigqueue.h.
|
private |
Definition at line 140 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::Alloc(), BigQueue< glue::DentryTracker::Entry >::CopyFrom(), BigQueue< glue::DentryTracker::Entry >::Dealloc(), BigQueue< glue::DentryTracker::Entry >::GetHeadOffset(), and BigQueue< glue::DentryTracker::Entry >::Migrate().
|
private |
Definition at line 143 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::Alloc(), BigQueue< glue::DentryTracker::Entry >::capacity(), BigQueue< glue::DentryTracker::Entry >::Dealloc(), BigQueue< glue::DentryTracker::Entry >::GetAvailableSpace(), BigQueue< glue::DentryTracker::Entry >::PopFront(), and BigQueue< glue::DentryTracker::Entry >::PushBack().
|
private |
Definition at line 141 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::Alloc(), BigQueue< glue::DentryTracker::Entry >::Dealloc(), BigQueue< glue::DentryTracker::Entry >::GetHeadOffset(), BigQueue< glue::DentryTracker::Entry >::Peek(), BigQueue< glue::DentryTracker::Entry >::PopFront(), and BigQueue< glue::DentryTracker::Entry >::PushBack().
|
staticprivate |
Definition at line 87 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::PopFront().
|
staticprivate |
Definition at line 86 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::BigQueue(), BigQueue< glue::DentryTracker::Entry >::Clear(), and BigQueue< glue::DentryTracker::Entry >::CopyFrom().
|
private |
Definition at line 142 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::BigQueue(), BigQueue< glue::DentryTracker::Entry >::CopyFrom(), BigQueue< glue::DentryTracker::Entry >::Dealloc(), BigQueue< glue::DentryTracker::Entry >::GetAvailableSpace(), BigQueue< glue::DentryTracker::Entry >::IsEmpty(), BigQueue< glue::DentryTracker::Entry >::Migrate(), BigQueue< glue::DentryTracker::Entry >::PopFront(), BigQueue< glue::DentryTracker::Entry >::PushBack(), and BigQueue< glue::DentryTracker::Entry >::size().