Nymph  v1.5.2
Flow-Based Data Processing Framework
Classes | Public Types | Public Member Functions | Private Attributes | List of all members
KTConcurrentQueue< XDataType > Class Template Reference

#include <KTConcurrentQueue.hh>

Inheritance diagram for KTConcurrentQueue< XDataType >:
Inheritance graph

Classes

struct  QueueNotEmpty
 

Public Types

typedef std::deque< XDataType > Queue
 
typedef boost::unique_lock< boost::mutex > ScopedLock
 

Public Member Functions

 KTConcurrentQueue ()
 
virtual ~KTConcurrentQueue ()
 
void push (XDataType const &data)
 
bool empty () const
 
bool size () const
 
bool try_pop (XDataType &popped_value)
 
bool wait_and_pop (XDataType &popped_value)
 
bool timed_wait_and_pop (XDataType &popped_value)
 
void interrupt ()
 
unsigned get_timeout () const
 
void set_timeout (unsigned duration)
 

Private Attributes

Queue fQueue
 
bool fInterrupt
 
boost::posix_time::time_duration fTimeout
 
boost::mutex fMutex
 Timeout duration in milliseconds. More...
 
boost::condition_variable fConditionVar
 

Detailed Description

template<class XDataType>
class Nymph::KTConcurrentQueue< XDataType >

Definition at line 30 of file KTConcurrentQueue.hh.

Member Typedef Documentation

◆ Queue

typedef std::deque< XDataType > Queue

Definition at line 33 of file KTConcurrentQueue.hh.

◆ ScopedLock

typedef boost::unique_lock< boost::mutex > ScopedLock

Definition at line 47 of file KTConcurrentQueue.hh.

Constructor & Destructor Documentation

◆ KTConcurrentQueue()

KTConcurrentQueue ( )
inline

Definition at line 50 of file KTConcurrentQueue.hh.

◆ ~KTConcurrentQueue()

virtual ~KTConcurrentQueue ( )
inlinevirtual

Definition at line 59 of file KTConcurrentQueue.hh.

Member Function Documentation

◆ empty()

bool empty ( ) const
inline

Definition at line 85 of file KTConcurrentQueue.hh.

◆ get_timeout()

unsigned get_timeout ( ) const
inline

Definition at line 157 of file KTConcurrentQueue.hh.

◆ interrupt()

void interrupt ( )
inline

Definition at line 150 of file KTConcurrentQueue.hh.

◆ push()

void push ( XDataType const &  data)
inline

Definition at line 74 of file KTConcurrentQueue.hh.

◆ set_timeout()

void set_timeout ( unsigned  duration)
inline

Definition at line 162 of file KTConcurrentQueue.hh.

◆ size()

bool size ( ) const
inline

Definition at line 91 of file KTConcurrentQueue.hh.

◆ timed_wait_and_pop()

bool timed_wait_and_pop ( XDataType &  popped_value)
inline

Definition at line 128 of file KTConcurrentQueue.hh.

◆ try_pop()

bool try_pop ( XDataType &  popped_value)
inline

Definition at line 97 of file KTConcurrentQueue.hh.

◆ wait_and_pop()

bool wait_and_pop ( XDataType &  popped_value)
inline

Definition at line 111 of file KTConcurrentQueue.hh.

Member Data Documentation

◆ fConditionVar

boost::condition_variable fConditionVar
private

Definition at line 71 of file KTConcurrentQueue.hh.

◆ fInterrupt

bool fInterrupt
private

Definition at line 66 of file KTConcurrentQueue.hh.

◆ fMutex

boost::mutex fMutex
mutableprivate

Timeout duration in milliseconds.

Definition at line 70 of file KTConcurrentQueue.hh.

◆ fQueue

Queue fQueue
private

Definition at line 65 of file KTConcurrentQueue.hh.

◆ fTimeout

boost::posix_time::time_duration fTimeout
private

Definition at line 68 of file KTConcurrentQueue.hh.


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