Sirikata
|
Public Member Functions | |
FreeNodePool () | |
~FreeNodePool () | |
Node * | allocate () |
void | release (Node *node) |
Private Attributes | |
volatile Node * | mHead |
Sirikata::LockFreeQueue< T >::FreeNodePool::FreeNodePool | ( | ) | [inline] |
Sirikata::LockFreeQueue< T >::FreeNodePool::~FreeNodePool | ( | ) | [inline] |
Node* Sirikata::LockFreeQueue< T >::FreeNodePool::allocate | ( | ) | [inline] |
References Sirikata::compare_and_swap(), Sirikata::LockFreeQueue< T >::Node::mContent, Sirikata::LockFreeQueue< T >::FreeNodePool::mHead, Sirikata::LockFreeQueue< T >::Node::mNext, and node.
Referenced by Sirikata::LockFreeQueue< T >::fork(), Sirikata::LockFreeQueue< T >::LockFreeQueue(), and Sirikata::LockFreeQueue< T >::push().
void Sirikata::LockFreeQueue< T >::FreeNodePool::release | ( | Node * | node | ) | [inline] |
References Sirikata::compare_and_swap(), Sirikata::LockFreeQueue< T >::Node::mContent, Sirikata::LockFreeQueue< T >::FreeNodePool::mHead, and Sirikata::LockFreeQueue< T >::Node::mNext.
Referenced by Sirikata::LockFreeQueue< T >::NodeIterator::next(), Sirikata::LockFreeQueue< T >::pop(), and Sirikata::LockFreeQueue< T >::NodeIterator::~NodeIterator().
volatile Node* Sirikata::LockFreeQueue< T >::FreeNodePool::mHead [private] |