summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/IncompleteMessageList.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/broker/IncompleteMessageList.h')
-rw-r--r--cpp/src/qpid/broker/IncompleteMessageList.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/cpp/src/qpid/broker/IncompleteMessageList.h b/cpp/src/qpid/broker/IncompleteMessageList.h
index 36cc1b4bf5..40c47cfaa6 100644
--- a/cpp/src/qpid/broker/IncompleteMessageList.h
+++ b/cpp/src/qpid/broker/IncompleteMessageList.h
@@ -21,23 +21,30 @@
#ifndef _IncompleteMessageList_
#define _IncompleteMessageList_
-#include <list>
+#include "qpid/sys/Monitor.h"
+#include "qpid/broker/Message.h"
#include <boost/intrusive_ptr.hpp>
#include <boost/function.hpp>
+#include <list>
namespace qpid {
namespace broker {
-class Message;
-
class IncompleteMessageList
{
typedef std::list< boost::intrusive_ptr<Message> > Messages;
+
+ void enqueueComplete(const boost::intrusive_ptr<Message>&);
+
+ sys::Monitor lock;
Messages incomplete;
+ Message::MessageCallback callback;
public:
- typedef boost::function<void(boost::intrusive_ptr<Message>)> CompletionListener;
+ typedef Message::MessageCallback CompletionListener;
+ IncompleteMessageList();
+
void add(boost::intrusive_ptr<Message> msg);
void process(const CompletionListener& l, bool sync);
void each(const CompletionListener& l);