#include <buffer.h>
Inheritance diagram for ost::ThreadQueue:
Public Member Functions | |
ThreadQueue (const char *id, int pri, size_t stack=0) | |
Create instance of our queue and give it a process priority. | |
~ThreadQueue () | |
Destroy the queue. | |
void | post (const void *data, unsigned len) |
Put some unspecified data into this queue. | |
Protected Member Functions | |
virtual void | startQueue (void) |
Start of dequeing. | |
virtual void | stopQueue (void) |
End of dequeing, we expect the queue is empty for now. | |
virtual void | runQueue (void *data)=0 |
Virtual callback method to handle processing of a queued data items. | |
Protected Attributes | |
const char * | name |
Classes | |
struct | _data |
This may be used to buffer cdr records, or for other purposes where an in-memory queue is needed for rapid posting. This class is derived from Mutex and maintains a linked list. A thread is used to dequeue data and pass it to a callback method that is used in place of "run" for each item present on the queue. The conditional is used to signal the run thread when new data is posted.
|
Create instance of our queue and give it a process priority.
|
|
Destroy the queue.
|
|
Put some unspecified data into this queue. A new qd structure is created and sized to contain a copy of the actual content.
|
|
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.
|
|
Start of dequeing. Maybe we need to connect a database or something, so we have a 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. |
|
|