You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2007/03/27 23:23:41 UTC

svn commit: r523085 - in /incubator/qpid/trunk/qpid/cpp: lib/broker/ lib/client/ lib/common/framing/ lib/common/sys/apr/ tests/

Author: aconway
Date: Tue Mar 27 14:23:40 2007
New Revision: 523085

URL: http://svn.apache.org/viewvc?view=rev&rev=523085
Log:

* cpp/tests/BrokerChannelTest.cpp: Fix leak.
* cpp/lib/broker/Connection.h: signature fix, pass const& instead of *.
* cpp/lib/client/IncomingMessage.cpp: Correct error codes.
* cpp/lib/broker/Reference.cpp: Fix TODO.

Modified:
    incubator/qpid/trunk/qpid/cpp/lib/broker/Connection.cpp
    incubator/qpid/trunk/qpid/cpp/lib/broker/Connection.h
    incubator/qpid/trunk/qpid/cpp/lib/broker/Reference.cpp
    incubator/qpid/trunk/qpid/cpp/lib/broker/Reference.h
    incubator/qpid/trunk/qpid/cpp/lib/client/IncomingMessage.cpp
    incubator/qpid/trunk/qpid/cpp/lib/common/framing/InitiationHandler.h
    incubator/qpid/trunk/qpid/cpp/lib/common/sys/apr/LFSessionContext.cpp
    incubator/qpid/trunk/qpid/cpp/tests/BrokerChannelTest.cpp
    incubator/qpid/trunk/qpid/cpp/tests/InProcessBroker.h

Modified: incubator/qpid/trunk/qpid/cpp/lib/broker/Connection.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/lib/broker/Connection.cpp?view=diff&rev=523085&r1=523084&r2=523085
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/lib/broker/Connection.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/lib/broker/Connection.cpp Tue Mar 27 14:23:40 2007
@@ -76,15 +76,15 @@
     getOutput().close();
 }
 
-void Connection::initiated(framing::ProtocolInitiation* header) {
-    version = ProtocolVersion(header->getMajor(), header->getMinor());
+void Connection::initiated(const framing::ProtocolInitiation& header) {
+    version = ProtocolVersion(header.getMajor(), header.getMinor());
     FieldTable properties;
     string mechanisms("PLAIN");
     string locales("en_US");
     getChannel(0).init(0, *out, getVersion());
     client = &getChannel(0).getAdatper().getProxy().getConnection();
     client->start(
-        header->getMajor(), header->getMinor(),
+        header.getMajor(), header.getMinor(),
         properties, mechanisms, locales);
 }
 

Modified: incubator/qpid/trunk/qpid/cpp/lib/broker/Connection.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/lib/broker/Connection.h?view=diff&rev=523085&r1=523084&r2=523085
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/lib/broker/Connection.h (original)
+++ incubator/qpid/trunk/qpid/cpp/lib/broker/Connection.h Tue Mar 27 14:23:40 2007
@@ -81,7 +81,7 @@
 
     // ConnectionInputHandler methods
     void received(framing::AMQFrame* frame);
-    void initiated(framing::ProtocolInitiation* header);
+    void initiated(const framing::ProtocolInitiation& header);
     void idleOut();
     void idleIn();
     void closed();

Modified: incubator/qpid/trunk/qpid/cpp/lib/broker/Reference.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/lib/broker/Reference.cpp?view=diff&rev=523085&r1=523084&r2=523085
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/lib/broker/Reference.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/lib/broker/Reference.cpp Tue Mar 27 14:23:40 2007
@@ -28,8 +28,6 @@
 
 Reference::shared_ptr  ReferenceRegistry::open(const Reference::Id& id) {
     ReferenceMap::iterator i = references.find(id);
-    // TODO aconway 2007-02-05: should we throw Channel or Connection
-    // exceptions here?
     if (i != references.end())
         throw ConnectionException(503, "Attempt to re-open reference " +id);
     return references[id] = Reference::shared_ptr(new Reference(id, this));

Modified: incubator/qpid/trunk/qpid/cpp/lib/broker/Reference.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/lib/broker/Reference.h?view=diff&rev=523085&r1=523084&r2=523085
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/lib/broker/Reference.h (original)
+++ incubator/qpid/trunk/qpid/cpp/lib/broker/Reference.h Tue Mar 27 14:23:40 2007
@@ -36,6 +36,9 @@
 class MessageMessage;
 class ReferenceRegistry;
 
+// FIXME aconway 2007-03-27: Merge with client::IncomingMessage
+// to common reference handling code.
+
 /**
  * A reference is an accumulation point for data in a multi-frame
  * message. A reference can be used by multiple transfer commands to

Modified: incubator/qpid/trunk/qpid/cpp/lib/client/IncomingMessage.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/lib/client/IncomingMessage.cpp?view=diff&rev=523085&r1=523084&r2=523085
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/lib/client/IncomingMessage.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/lib/client/IncomingMessage.cpp Tue Mar 27 14:23:40 2007
@@ -35,8 +35,8 @@
 void IncomingMessage::openReference(const std::string& name) {
     Mutex::ScopedLock l(lock);
     if (references.find(name) != references.end())
-        throw ChannelException(
-            406,  format("Attempt to open existing reference %s.") % name);
+        throw ConnectionException(
+            503,  format("Attempt to open existing reference %s.") % name);
     references[name];
     return;
 }
@@ -84,16 +84,16 @@
     if (i == destinations.end()) 
         destinations[name]=&dest;
     else if (i->second != &dest)
-        throw ChannelException(
-            404, format("Destination already exists: %s.") % name);
+        throw ConnectionException(
+            503, format("Destination already exists: %s.") % name);
 }
 
 void  IncomingMessage::removeDestination(std::string name) {
     Mutex::ScopedLock l(lock);
     DestinationMap::iterator i = destinations.find(name);
     if (i == destinations.end())
-        throw ChannelException(
-            406, format("No such destination: %s.") % name);
+        throw ConnectionException(
+            503, format("No such destination: %s.") % name);
     destinations.erase(i);
 }
 
@@ -112,8 +112,8 @@
     Mutex::ScopedLock l(lock);
     ReferenceMap::iterator i = references.find(name);
     if (i == references.end())
-        throw ChannelException(
-            404,  format("No such reference: %s.") % name);
+        throw ConnectionException(
+            503,  format("No such reference: %s.") % name);
     return i->second;
 }
 
@@ -122,8 +122,8 @@
     Mutex::ScopedLock l(lock);
     DestinationMap::iterator i = destinations.find(name);
     if (i == destinations.end())
-        throw ChannelException(
-            404,  format("No such destination: %s.") % name);
+        throw ConnectionException(
+            503,  format("No such destination: %s.") % name);
     return *i->second;
 }
 

Modified: incubator/qpid/trunk/qpid/cpp/lib/common/framing/InitiationHandler.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/lib/common/framing/InitiationHandler.h?view=diff&rev=523085&r1=523084&r2=523085
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/lib/common/framing/InitiationHandler.h (original)
+++ incubator/qpid/trunk/qpid/cpp/lib/common/framing/InitiationHandler.h Tue Mar 27 14:23:40 2007
@@ -31,7 +31,7 @@
     class InitiationHandler{
     public:
         virtual ~InitiationHandler();
-	virtual void initiated(ProtocolInitiation* header) = 0;
+	virtual void initiated(const ProtocolInitiation&) = 0;
     };
 
 }

Modified: incubator/qpid/trunk/qpid/cpp/lib/common/sys/apr/LFSessionContext.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/lib/common/sys/apr/LFSessionContext.cpp?view=diff&rev=523085&r1=523084&r2=523085
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/lib/common/sys/apr/LFSessionContext.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/lib/common/sys/apr/LFSessionContext.cpp Tue Mar 27 14:23:40 2007
@@ -71,7 +71,7 @@
     }else{
         ProtocolInitiation protocolInit;
         if(protocolInit.decode(in)){
-            handler->initiated(&protocolInit);
+            handler->initiated(protocolInit);
             initiated = true;
             if(debug) std::cout << "INIT [" << &socket << "]" << std::endl;
         }

Modified: incubator/qpid/trunk/qpid/cpp/tests/BrokerChannelTest.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/tests/BrokerChannelTest.cpp?view=diff&rev=523085&r1=523084&r2=523085
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/tests/BrokerChannelTest.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/tests/BrokerChannelTest.cpp Tue Mar 27 14:23:40 2007
@@ -146,7 +146,7 @@
         broker(Broker::create()),
         connection(&handler, *broker)
     {
-        connection.initiated(new ProtocolInitiation());
+        connection.initiated(ProtocolInitiation());
     }
 
 

Modified: incubator/qpid/trunk/qpid/cpp/tests/InProcessBroker.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/tests/InProcessBroker.h?view=diff&rev=523085&r1=523084&r2=523085
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/tests/InProcessBroker.h (original)
+++ incubator/qpid/trunk/qpid/cpp/tests/InProcessBroker.h Tue Mar 27 14:23:40 2007
@@ -85,7 +85,7 @@
     ~InProcessBroker() { broker->shutdown(); }
 
     void connect(const std::string& /*host*/, int /*port*/) {}
-    void init() { brokerConnection.initiated(&protocolInit); }
+    void init() { brokerConnection.initiated(protocolInit); }
     void close() {}
 
     /** Client's input handler. */