Author: gsim
Date: Wed Mar 27 11:41:09 2013
New Revision: 1461536

URL: http://svn.apache.org/r1461536
Log:
QPID-4667: Fix for selective message acknowledgement over AMQP 1.0 (merged from 
r1461248)

Modified:
    qpid/branches/0.22/qpid/   (props changed)
    qpid/branches/0.22/qpid/cpp/src/   (props changed)
    qpid/branches/0.22/qpid/cpp/src/qpid/messaging/amqp/SessionContext.cpp

Propchange: qpid/branches/0.22/qpid/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid:r1461248

Propchange: qpid/branches/0.22/qpid/cpp/src/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src:r1461248

Modified: qpid/branches/0.22/qpid/cpp/src/qpid/messaging/amqp/SessionContext.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/0.22/qpid/cpp/src/qpid/messaging/amqp/SessionContext.cpp?rev=1461536&r1=1461535&r2=1461536&view=diff
==============================================================================
--- qpid/branches/0.22/qpid/cpp/src/qpid/messaging/amqp/SessionContext.cpp 
(original)
+++ qpid/branches/0.22/qpid/cpp/src/qpid/messaging/amqp/SessionContext.cpp Wed 
Mar 27 11:41:09 2013
@@ -138,9 +138,13 @@ void SessionContext::acknowledge()
 
 void SessionContext::acknowledge(const qpid::framing::SequenceNumber& id, bool 
cumulative)
 {
+    QPID_LOG(debug, "acknowledging selected messages, id=" << id << ", 
cumulative=" << cumulative);
     DeliveryMap::iterator i = unacked.find(id);
     if (i != unacked.end()) {
-        acknowledge(cumulative ? unacked.begin() : i, ++i);
+        DeliveryMap::iterator start = cumulative ? unacked.begin() : i;
+        acknowledge(start, ++i);
+    } else {
+        QPID_LOG(debug, "selective acknowledgement failed; message not found 
for id " << id);
     }
 }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to