Author: gsim
Date: Thu Nov 19 15:43:10 2015
New Revision: 1715199

URL: http://svn.apache.org/viewvc?rev=1715199&view=rev
Log:
QPID-6870: qpidd does not at present have facility to track deliverability to 
individual links, so treat undeliverable-here as rejection

Modified:
    qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp?rev=1715199&r1=1715198&r2=1715199&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp Thu Nov 19 15:43:10 
2015
@@ -139,8 +139,15 @@ void OutgoingFromQueue::handle(pn_delive
                 outgoingMessageRejected();//TODO: not quite true...
                 break;
               case PN_MODIFIED:
-                if (preAcquires()) queue->release(r.cursor, 
pn_disposition_is_failed(pn_delivery_remote(delivery)));
-                //TODO: handle undeliverable-here and message-annotations
+                if (preAcquires()) {
+                    //TODO: handle message-annotations
+                    if 
(pn_disposition_is_undeliverable(pn_delivery_remote(delivery))) {
+                        //treat undeliverable here as rejection
+                        queue->reject(r.cursor);
+                    } else {
+                        queue->release(r.cursor, 
pn_disposition_is_failed(pn_delivery_remote(delivery)));
+                    }
+                }
                 outgoingMessageRejected();//TODO: not quite true...
                 break;
               default:



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

Reply via email to