summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/QueuedMessage.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/broker/QueuedMessage.h')
-rw-r--r--cpp/src/qpid/broker/QueuedMessage.h21
1 files changed, 13 insertions, 8 deletions
diff --git a/cpp/src/qpid/broker/QueuedMessage.h b/cpp/src/qpid/broker/QueuedMessage.h
index 35e48b11f3..806da8e720 100644
--- a/cpp/src/qpid/broker/QueuedMessage.h
+++ b/cpp/src/qpid/broker/QueuedMessage.h
@@ -7,9 +7,9 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -32,15 +32,20 @@ struct QueuedMessage
{
boost::intrusive_ptr<Message> payload;
framing::SequenceNumber position;
+ typedef enum { AVAILABLE, ACQUIRED, DELETED, REMOVED } Status;
+ Status status;
Queue* queue;
- QueuedMessage() : queue(0) {}
- QueuedMessage(Queue* q, boost::intrusive_ptr<Message> msg, framing::SequenceNumber sn) :
- payload(msg), position(sn), queue(q) {}
- QueuedMessage(Queue* q) : queue(q) {}
-
+ QueuedMessage(Queue* q=0,
+ boost::intrusive_ptr<Message> msg=0,
+ framing::SequenceNumber sn=0,
+ Status st=AVAILABLE
+ ) : payload(msg), position(sn), status(st), queue(q) {}
};
- inline bool operator<(const QueuedMessage& a, const QueuedMessage& b) { return a.position < b.position; }
+
+inline bool operator<(const QueuedMessage& a, const QueuedMessage& b) {
+ return a.position < b.position;
+}
}}