You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2010/06/03 22:23:31 UTC

svn commit: r951141 - in /qpid/trunk/qpid/cpp: examples/qmf-console/console.cpp examples/qmf-console/ping.cpp include/qpid/console/Broker.h

Author: tross
Date: Thu Jun  3 20:23:30 2010
New Revision: 951141

URL: http://svn.apache.org/viewvc?rev=951141&view=rev
Log:
QPID-2644 - Console examples sometimes fail due to not waiting for the broker connection to complete
Moved 'Broker::waitForStable' from private to public, used this function in the examples to
hold off until the broker is fully connected.

Modified:
    qpid/trunk/qpid/cpp/examples/qmf-console/console.cpp
    qpid/trunk/qpid/cpp/examples/qmf-console/ping.cpp
    qpid/trunk/qpid/cpp/include/qpid/console/Broker.h

Modified: qpid/trunk/qpid/cpp/examples/qmf-console/console.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/examples/qmf-console/console.cpp?rev=951141&r1=951140&r2=951141&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/examples/qmf-console/console.cpp (original)
+++ qpid/trunk/qpid/cpp/examples/qmf-console/console.cpp Thu Jun  3 20:23:30 2010
@@ -81,6 +81,7 @@ int main_int(int /*argc*/, char** /*argv
     Broker* broker;
 
     broker = sm.addBroker(settings);
+    broker->waitForStable();
 
     cout << "Package List:" << endl;
     vector<string> packages;

Modified: qpid/trunk/qpid/cpp/examples/qmf-console/ping.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/examples/qmf-console/ping.cpp?rev=951141&r1=951140&r2=951141&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/examples/qmf-console/ping.cpp (original)
+++ qpid/trunk/qpid/cpp/examples/qmf-console/ping.cpp Thu Jun  3 20:23:30 2010
@@ -55,6 +55,7 @@ int main_int(int /*argc*/, char** /*argv
     // Add a broker connection to the session manager.
     //
     Broker* broker = sm.addBroker(connSettings);
+    broker->waitForStable();
 
     uint32_t count = 5;  // The number of echo requests we will send to the broker.
     Object::Vector list; // A container for holding objects retrieved from the broker.

Modified: qpid/trunk/qpid/cpp/include/qpid/console/Broker.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/console/Broker.h?rev=951141&r1=951140&r2=951141&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/console/Broker.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/console/Broker.h Thu Jun  3 20:23:30 2010
@@ -55,15 +55,16 @@ namespace console {
                                    client::ConnectionSettings& settings);
         QPID_CONSOLE_EXTERN ~Broker();
 
-        bool isConnected() const { return connected; }
-        const std::string& getError() const { return error; }
-        const std::string& getSessionId() const { return amqpSessionId; }
-        const framing::Uuid& getBrokerId() const { return brokerId; }
-        uint32_t getBrokerBank() const { return 1; }
-        void addBinding(const std::string& key) {
+        QPID_CONSOLE_EXTERN bool isConnected() const { return connected; }
+        QPID_CONSOLE_EXTERN const std::string& getError() const { return error; }
+        QPID_CONSOLE_EXTERN const std::string& getSessionId() const { return amqpSessionId; }
+        QPID_CONSOLE_EXTERN const framing::Uuid& getBrokerId() const { return brokerId; }
+        QPID_CONSOLE_EXTERN uint32_t getBrokerBank() const { return 1; }
+        QPID_CONSOLE_EXTERN void addBinding(const std::string& key) {
             connThreadBody.bindExchange("qpid.management", key);
         }
         QPID_CONSOLE_EXTERN std::string getUrl() const;
+        QPID_CONSOLE_EXTERN void waitForStable();
 
     private:
         friend class SessionManager;
@@ -117,7 +118,6 @@ namespace console {
         void received(client::Message& msg);
         void resetAgents();
         void updateAgent(const Object& object);
-        void waitForStable();
         void incOutstanding();
         void decOutstanding();
         void setBrokerId(const framing::Uuid& id) { brokerId = id; }



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org