#include <ConcurrentQueue.h>
Classes | |
struct | QueueIsFull |
Public Types | |
typedef void | ReturnType |
typedef std::list< T > | SequenceType |
typedef SequenceType::size_type | SizeType |
typedef T | ValueType |
Static Public Member Functions | |
static ReturnType | doEnq (T const &item, SequenceType &elements, SizeType &size, SizeType &capacity, detail::MemoryType &used, detail::MemoryType &memory, size_t &elementsDropped, boost::condition &nonempty) |
static void | doInsert (T const &item, SequenceType &elements, SizeType &size, detail::MemoryType const &itemSize, detail::MemoryType &used, boost::condition &nonempty) |
Static Public Attributes | |
stor::FailIfFull::QueueIsFull | queueIsFull |
Definition at line 114 of file ConcurrentQueue.h.
typedef void stor::FailIfFull< T >::ReturnType |
Definition at line 116 of file ConcurrentQueue.h.
typedef std::list<T> stor::FailIfFull< T >::SequenceType |
Definition at line 119 of file ConcurrentQueue.h.
typedef SequenceType::size_type stor::FailIfFull< T >::SizeType |
Definition at line 120 of file ConcurrentQueue.h.
typedef T stor::FailIfFull< T >::ValueType |
Definition at line 118 of file ConcurrentQueue.h.
static ReturnType stor::FailIfFull< T >::doEnq | ( | T const & | item, |
SequenceType & | elements, | ||
SizeType & | size, | ||
SizeType & | capacity, | ||
detail::MemoryType & | used, | ||
detail::MemoryType & | memory, | ||
size_t & | elementsDropped, | ||
boost::condition & | nonempty | ||
) | [inline, static] |
Definition at line 147 of file ConcurrentQueue.h.
References stor::FailIfFull< T >::doInsert(), stor::detail::memoryUsage(), and stor::FailIfFull< T >::queueIsFull.
{ detail::MemoryType itemSize = detail::memoryUsage(item); if (size >= capacity || used+itemSize > memory) { ++elementsDropped; throw queueIsFull; } else { doInsert(item, elements, size, itemSize, used, nonempty); } }
static void stor::FailIfFull< T >::doInsert | ( | T const & | item, |
SequenceType & | elements, | ||
SizeType & | size, | ||
detail::MemoryType const & | itemSize, | ||
detail::MemoryType & | used, | ||
boost::condition & | nonempty | ||
) | [inline, static] |
Definition at line 131 of file ConcurrentQueue.h.
References findQualityFiles::size.
Referenced by stor::FailIfFull< T >::doEnq().
stor::FailIfFull::QueueIsFull stor::FailIfFull< T >::queueIsFull [static] |
Referenced by stor::FailIfFull< T >::doEnq().