You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2015/11/19 16:43:10 UTC

svn commit: r1715199 - /qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp

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: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org