diff options
Diffstat (limited to 'cpp/src/qpid/broker/IncompleteMessageList.h')
-rw-r--r-- | cpp/src/qpid/broker/IncompleteMessageList.h | 15 |
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); |