Sirikata
Public Member Functions | Private Attributes
Sirikata::SizedThreadSafeQueue< T, ResourceMonitor, Superclass > Class Template Reference

This class acts like a thread safe queue but it conservatively tracks a particular resource size of the list to avoid wasting too much memory Is an adapter on any type of thread safe queue including Lock Free queues. More...

#include <SizedThreadSafeQueue.hpp>

Inheritance diagram for Sirikata::SizedThreadSafeQueue< T, ResourceMonitor, Superclass >:
Collaboration diagram for Sirikata::SizedThreadSafeQueue< T, ResourceMonitor, Superclass >:

List of all members.

Public Member Functions

 SizedThreadSafeQueue (const ResourceMonitor &rm)
const ResourceMonitor & getResourceMonitor () const
void popAll (std::deque< T > *popResults)
bool push (const T &value, bool force)
bool pop (T &value)
void blockingPop (T &value)
template<class U >
bool probablyCanPush (const U &specifier)
bool probablyEmpty ()

Private Attributes

ResourceMonitor mResourceMonitor

Detailed Description

template<typename T, class ResourceMonitor = SizedResourceMonitor, class Superclass = ThreadSafeQueue<T>>
class Sirikata::SizedThreadSafeQueue< T, ResourceMonitor, Superclass >

This class acts like a thread safe queue but it conservatively tracks a particular resource size of the list to avoid wasting too much memory Is an adapter on any type of thread safe queue including Lock Free queues.


Constructor & Destructor Documentation

template<typename T, class ResourceMonitor = SizedResourceMonitor, class Superclass = ThreadSafeQueue<T>>
Sirikata::SizedThreadSafeQueue< T, ResourceMonitor, Superclass >::SizedThreadSafeQueue ( const ResourceMonitor &  rm) [inline]

Member Function Documentation

template<typename T, class ResourceMonitor = SizedResourceMonitor, class Superclass = ThreadSafeQueue<T>>
void Sirikata::SizedThreadSafeQueue< T, ResourceMonitor, Superclass >::blockingPop ( T &  value) [inline]
template<typename T, class ResourceMonitor = SizedResourceMonitor, class Superclass = ThreadSafeQueue<T>>
const ResourceMonitor& Sirikata::SizedThreadSafeQueue< T, ResourceMonitor, Superclass >::getResourceMonitor ( ) const [inline]
template<typename T, class ResourceMonitor = SizedResourceMonitor, class Superclass = ThreadSafeQueue<T>>
bool Sirikata::SizedThreadSafeQueue< T, ResourceMonitor, Superclass >::pop ( T &  value) [inline]
template<typename T, class ResourceMonitor = SizedResourceMonitor, class Superclass = ThreadSafeQueue<T>>
void Sirikata::SizedThreadSafeQueue< T, ResourceMonitor, Superclass >::popAll ( std::deque< T > *  popResults) [inline]
template<typename T, class ResourceMonitor = SizedResourceMonitor, class Superclass = ThreadSafeQueue<T>>
template<class U >
bool Sirikata::SizedThreadSafeQueue< T, ResourceMonitor, Superclass >::probablyCanPush ( const U &  specifier) [inline]
template<typename T, class ResourceMonitor = SizedResourceMonitor, class Superclass = ThreadSafeQueue<T>>
bool Sirikata::SizedThreadSafeQueue< T, ResourceMonitor, Superclass >::probablyEmpty ( ) [inline]
template<typename T, class ResourceMonitor = SizedResourceMonitor, class Superclass = ThreadSafeQueue<T>>
bool Sirikata::SizedThreadSafeQueue< T, ResourceMonitor, Superclass >::push ( const T &  value,
bool  force 
) [inline]

Member Data Documentation

template<typename T, class ResourceMonitor = SizedResourceMonitor, class Superclass = ThreadSafeQueue<T>>
ResourceMonitor Sirikata::SizedThreadSafeQueue< T, ResourceMonitor, Superclass >::mResourceMonitor [private]

The documentation for this class was generated from the following file: