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 2008/02/26 09:40:16 UTC

svn commit: r631128 - in /incubator/qpid/trunk/qpid/cpp/src/qpid/broker: SemanticState.cpp SessionContext.h

Author: gsim
Date: Tue Feb 26 00:40:13 2008
New Revision: 631128

URL: http://svn.apache.org/viewvc?rev=631128&view=rev
Log:
Use sessions reference to broker rather than connections in semantic state as the sessions ref is valid even when not attached.


Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionContext.h

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp?rev=631128&r1=631127&r2=631128&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp Tue Feb 26 00:40:13 2008
@@ -326,7 +326,7 @@
     if(queue) {
         queue->cancel(c);
         if (queue->canAutoDelete() && !queue->hasExclusiveOwner()) {            
-            Queue::tryAutoDelete(getSession().getConnection().getBroker(), queue);
+            Queue::tryAutoDelete(session.getBroker(), queue);
         }
     }
 }
@@ -347,7 +347,7 @@
     std::string exchangeName = msg->getExchangeName();      
     msg->getProperties<DeliveryProperties>()->setExchange(exchangeName);
     if (!cacheExchange || cacheExchange->getName() != exchangeName){
-        cacheExchange = session.getConnection().broker.getExchanges().get(exchangeName);
+        cacheExchange = session.getBroker().getExchanges().get(exchangeName);
     }
 
     cacheExchange->route(strategy, msg->getRoutingKey(), msg->getApplicationHeaders());
@@ -579,7 +579,7 @@
     if (name.empty()) {
         throw NotAllowedException(QPID_MSG("No queue name specified."));
     } else {
-        queue = session.getConnection().getBroker().getQueues().find(name);
+        queue = session.getBroker().getQueues().find(name);
         if (!queue)
             throw NotFoundException(QPID_MSG("Queue not found: "<<name));
     }

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionContext.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionContext.h?rev=631128&r1=631127&r2=631128&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionContext.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionContext.h Tue Feb 26 00:40:13 2008
@@ -40,6 +40,7 @@
     virtual ~SessionContext(){}
     virtual ConnectionState& getConnection() = 0;
     virtual framing::AMQP_ClientProxy& getProxy() = 0;
+    virtual Broker& getBroker() = 0;
 };
 
 }} // namespace qpid::broker