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 2013/11/11 12:52:49 UTC

svn commit: r1540676 - /qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp

Author: gsim
Date: Mon Nov 11 11:52:49 2013
New Revision: 1540676

URL: http://svn.apache.org/r1540676
Log:
QPID-5328: not-acquired implies no accept needed

Modified:
    qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp?rev=1540676&r1=1540675&r2=1540676&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp Mon Nov 11 11:52:49 2013
@@ -227,8 +227,8 @@ class QueueSource : public Queue, public
     void subscribe(qpid::client::AsyncSession& session, const std::string& destination);
     void cancel(qpid::client::AsyncSession& session, const std::string& destination);
   private:
-    const AcceptMode acceptMode;
     const AcquireMode acquireMode;
+    const AcceptMode acceptMode;
     bool exclusive;
     FieldTable options;
 };
@@ -472,13 +472,13 @@ bool isBrowse(const Address& address)
 
 QueueSource::QueueSource(const Address& address) :
     Queue(address),
-    acceptMode(AddressResolution::is_unreliable(address) ? ACCEPT_MODE_NONE : ACCEPT_MODE_EXPLICIT),
     acquireMode(isBrowse(address) ? ACQUIRE_MODE_NOT_ACQUIRED : ACQUIRE_MODE_PRE_ACQUIRED),
+    //since this client does not provide any means by which an
+    //unacquired message can be acquired, there is no value in an
+    //explicit accept
+    acceptMode(acquireMode == ACQUIRE_MODE_NOT_ACQUIRED || AddressResolution::is_unreliable(address) ? ACCEPT_MODE_NONE : ACCEPT_MODE_EXPLICIT),
     exclusive(false)
 {
-    //extract subscription arguments from address options (nb: setting
-    //of accept-mode/acquire-mode/destination controlled though other
-    //options)
     exclusive = Opt(address)/LINK/X_SUBSCRIBE/EXCLUSIVE;
     (Opt(address)/LINK/X_SUBSCRIBE/ARGUMENTS).collect(options);
     std::string selector = Opt(address)/LINK/SELECTOR;



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org