ost::ThreadQueue(3) | Library Functions Manual | ost::ThreadQueue(3) |
NAME¶
ost::ThreadQueue - Somewhat generic queue processing class to establish a producer consumer queue.SYNOPSIS¶
#include <buffer.h> Inherits ost::Mutex, ost::Thread, and ost::Semaphore.Classes¶
struct _data
Public Member Functions¶
ThreadQueue (const char *id, int pri, size_t stack=0)
Protected Types¶
typedef struct
Protected Member Functions¶
virtual void final ()
Protected Attributes¶
timeout_t timeout
Additional Inherited Members¶
Detailed Description¶
Somewhat generic queue processing class to establish a producer consumer queue.David Sugar dyfet@ostel.com
Member Typedef Documentation¶
typedef struct ost::ThreadQueue::_data ost::ThreadQueue::data_t [protected]¶
Constructor & Destructor Documentation¶
ost::ThreadQueue::ThreadQueue (const char *id, intpri, size_tstack = 0)¶
Create instance of our queue and give it a process priority. Parameters:id queue ID.
pri process priority.
stack stack size.
virtual ost::ThreadQueue::~ThreadQueue () [virtual]¶
Destroy the queue.Member Function Documentation¶
virtual void ost::ThreadQueue::final () [protected], [virtual]¶
Reimplemented from ost::Thread.virtual void ost::ThreadQueue::onTimer (void) [protected], [virtual]¶
A derivable method to call when the timout is expired.void ost::ThreadQueue::post (const void *data, unsignedlen)¶
Put some unspecified data into this queue. A new qd structure is created and sized to contain a copy of the actual content. Parameters:data pointer to data.
len size of data.
virtual void ost::ThreadQueue::runQueue (void *data) [protected], [pure virtual]¶
Virtual callback method to handle processing of a queued data items. After the item is processed, it is deleted from memory. We can call multiple instances of runQueue in order if multiple items are waiting. Parameters:data item being dequed.
void ost::ThreadQueue::setTimer (timeout_ttimeout)¶
Set the queue timeout. When the timer expires, the onTimer() method is called for the thread Parameters:timeout timeout in milliseconds.
virtual void ost::ThreadQueue::startQueue (void) [protected], [virtual]¶
Start of dequeing. Maybe we need to connect a database or something, so we have a virtual...virtual void ost::ThreadQueue::stopQueue (void) [protected], [virtual]¶
End of dequeing, we expect the queue is empty for now. Maybe we need to disconnect a database or something, so we have another virtual.Member Data Documentation¶
data_t* ost::ThreadQueue::first [protected]¶
data_t * ost::ThreadQueue::last [protected]¶
String ost::ThreadQueue::name [protected]¶
bool ost::ThreadQueue::started [protected]¶
timeout_t ost::ThreadQueue::timeout [protected]¶
Author¶
Generated automatically by Doxygen for GNU CommonC++ from the source code.Sat Jun 23 2012 | GNU CommonC++ |