PacMan 2.0(r200)
Runs on digital PAC measurement computers
Public Member Functions

PacQueue< T > Class Template Reference

Template class for threadsafe queues. More...

#include <PacQueue.h>

List of all members.

Public Member Functions

 PacQueue (int buffersize=0)
 ~PacQueue ()
void setMaxLength (const int maxlength)
int maxLength () const
Pac::QueueStatus enqueue (T *w)
 Fügt einen Eintrag zur Queue hinzu und weckt ggf. einen Verarbeitungsthread.
T * dequeue ()
 Gibt nächsten Eintrag der Queue zurück oder schickt abrufenden Thread schlafen, falls queue leer!
bool nonblockingDequeue (T **dq)
T ** head () const
qlonglong getHeadSeqNum () const
void getStats (int *enqueuedchunks, int *droppedchunks)
void clear ()

Detailed Description

template<class T>
class PacQueue< T >

Template class for threadsafe queues.

Author:
Matthias Nagl <mnagl@uni-goettingen.de>

Constructor & Destructor Documentation

template<class T >
PacQueue< T >::PacQueue ( int  buffersize = 0)
template<class T >
PacQueue< T >::~PacQueue ( )

Member Function Documentation

template<class T >
void PacQueue< T >::clear ( )
template<class T>
T* PacQueue< T >::dequeue ( ) [inline]

Gibt nächsten Eintrag der Queue zurück oder schickt abrufenden Thread schlafen, falls queue leer!

template<class T>
Pac::QueueStatus PacQueue< T >::enqueue ( T *  w) [inline]

Fügt einen Eintrag zur Queue hinzu und weckt ggf. einen Verarbeitungsthread.

template<class T>
qlonglong PacQueue< T >::getHeadSeqNum ( ) const [inline]
Returns:
-1 on empty queue, 0 if 0-pointer on head position, >0 if chunk with seq-num on head position
template<class T >
void PacQueue< T >::getStats ( int *  enqueuedchunks,
int *  droppedchunks 
)
template<class T>
T** PacQueue< T >::head ( ) const [inline]
template<class T>
int PacQueue< T >::maxLength ( ) const [inline]
template<class T>
bool PacQueue< T >::nonblockingDequeue ( T **  dq) [inline]

Gibt Pointer auf nächsten Eintrag der Queue zurück oder Null, falls leer

Parameters:
dqpointer that is set to the dequeued item or 0.
Returns:
true on success, false if the queue is empty
template<class T >
void PacQueue< T >::setMaxLength ( const int  maxlength)

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends