![]() |
CernVM-FS
2.13.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 43 of file bigqueue.h.
|
inlineprivate |
Definition at line 88 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 77 of file bigqueue.h.
|
inline |
Definition at line 71 of file bigqueue.h.
|
inlineprivate |
Definition at line 125 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::BigQueue(), and BigQueue< glue::DentryTracker::Entry >::operator=().
|
inlineprivate |
Definition at line 95 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 117 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::Dealloc(), and BigQueue< glue::DentryTracker::Entry >::Migrate().
|
inlineprivate |
Definition at line 84 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::PushBack().
|
inlineprivate |
Definition at line 83 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 69 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::Peek(), and BigQueue< glue::DentryTracker::Entry >::PopFront().
|
inlineprivate |
Definition at line 103 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::PopFront(), and BigQueue< glue::DentryTracker::Entry >::PushBack().
|
inline |
Definition at line 34 of file bigqueue.h.
|
inline |
Definition at line 62 of file bigqueue.h.
|
inline |
Definition at line 54 of file bigqueue.h.
|
inline |
Definition at line 45 of file bigqueue.h.
|
inline |
Definition at line 76 of file bigqueue.h.
|
private |
Definition at line 134 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 137 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 135 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 81 of file bigqueue.h.
Referenced by BigQueue< glue::DentryTracker::Entry >::PopFront().
|
staticprivate |
Definition at line 80 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 136 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().