summaryrefslogtreecommitdiff
path: root/ace/Message_Queue.h
diff options
context:
space:
mode:
authornanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-12-11 22:08:29 +0000
committernanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-12-11 22:08:29 +0000
commit633ad54598ca632c79183408c89d19b86063f621 (patch)
tree4082f9a505c1ec5a40e90902feaf3e08eb8b8527 /ace/Message_Queue.h
parent7d782e52ee73d92b643044aa7c9e6950ff1e3576 (diff)
downloadATCD-633ad54598ca632c79183408c89d19b86063f621.tar.gz
Added enqueue_tail and dequeue_head
Diffstat (limited to 'ace/Message_Queue.h')
-rw-r--r--ace/Message_Queue.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/ace/Message_Queue.h b/ace/Message_Queue.h
index 76f7b05467c..2d084b1c918 100644
--- a/ace/Message_Queue.h
+++ b/ace/Message_Queue.h
@@ -70,11 +70,15 @@ public:
// when a signal occurs, or if the time specified in timeout
// elapses, (in which case errno = EWOULDBLOCK).
+ virtual int enqueue_tail (ACE_Message_Block *new_item,
+ ACE_Time_Value *timeout = 0) = 0;
virtual int enqueue (ACE_Message_Block *new_item,
ACE_Time_Value *timeout = 0) = 0;
// Enqueue a <ACE_Message_Block *> into the tail of the queue.
// Return -1 on failure, number of items in queue otherwise.
+ virtual int dequeue_head (ACE_Message_Block *&first_item,
+ ACE_Time_Value *timeout = 0) = 0;
virtual int dequeue (ACE_Message_Block *&first_item,
ACE_Time_Value *timeout = 0) = 0;
// Dequeue and return the <ACE_Message_Block *> at the head of the
@@ -289,9 +293,6 @@ class ACE_Export ACE_Message_Queue_NT : public ACE_Message_Queue_Base
// * peek_dequeue_head ().
// * ACE_Message_Queue_Iterators.
// * No flow control.
- // * Message_Block chains. The continuation field of ACE_Message_Block
- // * is ignored; only the first block of a fragment chain is
- // * recognized.
public:
// = Initialization and termination methods.
ACE_Message_Queue_NT (size_t max_threads = ACE_Message_Queue_Base::DEFAULT_HWM);
@@ -311,12 +312,16 @@ public:
// = Enqueue and dequeue methods.
+ virtual int enqueue_tail (ACE_Message_Block *new_item,
+ ACE_Time_Value *timeout = 0);
virtual int enqueue (ACE_Message_Block *new_item,
ACE_Time_Value *timeout = 0);
// Enqueue an <ACE_Message_Block *> at the end of the queue.
// Returns -1 on failure, else the number of items still on the
// queue.
+ virtual int dequeue_head (ACE_Message_Block *&first_item,
+ ACE_Time_Value *timeout = 0);
virtual int dequeue (ACE_Message_Block *&first_item,
ACE_Time_Value *timeout = 0);
// Dequeue and return the <ACE_Message_Block *> at the head of the