Dynalib Utils
Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
DynaWaitQueue< T > Class Template Reference

#include <DynaWaitQueue.h>

Public Member Functions

 DynaWaitQueue (int maxSize)
 
virtual ~DynaWaitQueue ()
 
bool add (T *obj, long msecs)
 
T * next (long msecs)
 

Static Public Attributes

static int NO_MAX_SIZE = 0
 

Protected Attributes

bool _rethrow = false
 
atomic< bool > _shutdown = false
 
atomic< bool > _complete = true
 
sem_t _full
 
sem_t _empty
 
sem_t _mutex
 
atomic< int > _maxSize = NO_MAX_SIZE
 
DynaList< T > * _queueList = nullptr
 

Constructor & Destructor Documentation

◆ DynaWaitQueue()

template<class T >
DynaWaitQueue< T >::DynaWaitQueue ( int  maxSize)
explicit

◆ ~DynaWaitQueue()

template<class T >
virtual DynaWaitQueue< T >::~DynaWaitQueue ( )
virtual

Member Function Documentation

◆ add()

template<class T >
bool DynaWaitQueue< T >::add ( T *  obj,
long  msecs 
)

◆ next()

template<class T >
T * DynaWaitQueue< T >::next ( long  msecs)

Member Data Documentation

◆ _complete

template<class T >
atomic<bool> DynaWaitQueue< T >::_complete = true
protected

◆ _empty

template<class T >
sem_t DynaWaitQueue< T >::_empty
protected

◆ _full

template<class T >
sem_t DynaWaitQueue< T >::_full
protected

◆ _maxSize

template<class T >
atomic<int> DynaWaitQueue< T >::_maxSize = NO_MAX_SIZE
protected

◆ _mutex

template<class T >
sem_t DynaWaitQueue< T >::_mutex
protected

◆ _queueList

template<class T >
DynaList<T>* DynaWaitQueue< T >::_queueList = nullptr
protected

◆ _rethrow

template<class T >
bool DynaWaitQueue< T >::_rethrow = false
protected

◆ _shutdown

template<class T >
atomic<bool> DynaWaitQueue< T >::_shutdown = false
protected

◆ NO_MAX_SIZE

template<class T >
int DynaWaitQueue< T >::NO_MAX_SIZE = 0
static

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