From 363ed6d7e6a0986c49a9ae5d43954dfec08e7e8c Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Wed, 9 Apr 2008 17:59:38 +0000 Subject: Handle the set-redelivered flag on the final version of the message.release command. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@646452 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/SessionAdapter.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'cpp/src/qpid/broker/SessionAdapter.cpp') diff --git a/cpp/src/qpid/broker/SessionAdapter.cpp b/cpp/src/qpid/broker/SessionAdapter.cpp index d30a1dc696..8093c7c174 100644 --- a/cpp/src/qpid/broker/SessionAdapter.cpp +++ b/cpp/src/qpid/broker/SessionAdapter.cpp @@ -298,7 +298,8 @@ void SessionAdapter::QueueHandlerImpl::delete_(const string& queue, bool ifUnuse SessionAdapter::MessageHandlerImpl::MessageHandlerImpl(SemanticState& s) : HandlerHelper(s), - releaseOp(boost::bind(&SemanticState::release, &state, _1, _2)), + releaseRedeliveredOp(boost::bind(&SemanticState::release, &state, _1, _2, true)), + releaseOp(boost::bind(&SemanticState::release, &state, _1, _2, false)), rejectOp(boost::bind(&SemanticState::reject, &state, _1, _2)), acceptOp(boost::bind(&SemanticState::accepted, &state, _1, _2)) {} @@ -314,9 +315,9 @@ void SessionAdapter::MessageHandlerImpl::transfer(const string& /*destination*/, //not yet used (content containing assemblies treated differently at present } - void SessionAdapter::MessageHandlerImpl::release(const SequenceSet& transfers, bool /*setRedelivered*/) +void SessionAdapter::MessageHandlerImpl::release(const SequenceSet& transfers, bool setRedelivered) { - transfers.for_each(releaseOp); + transfers.for_each(setRedelivered ? releaseRedeliveredOp : releaseOp); } void -- cgit v1.2.1