diff options
| author | Alan Conway <aconway@apache.org> | 2010-02-05 23:02:45 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2010-02-05 23:02:45 +0000 |
| commit | 5dd3cd3ae035673bf6003b6422712663ffa57fe5 (patch) | |
| tree | 0fd603d1e693b5c75ff41a86ed0051b04fa99f02 /cpp/src/qpid/broker | |
| parent | f5408c46da630d308f6e2a80b8b228cd398b89b4 (diff) | |
| download | qpid-python-5dd3cd3ae035673bf6003b6422712663ffa57fe5.tar.gz | |
Consistent connection names across a cluster.
- use the same host:port for connections and their shadows.
- add shadow property to managment connection to identify shadows.
- updated qpid-stat and qpid-cluster to filter on shadow property.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@907123 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker')
| -rw-r--r-- | cpp/src/qpid/broker/Connection.cpp | 6 | ||||
| -rw-r--r-- | cpp/src/qpid/broker/Connection.h | 4 |
2 files changed, 4 insertions, 6 deletions
diff --git a/cpp/src/qpid/broker/Connection.cpp b/cpp/src/qpid/broker/Connection.cpp index c3388a4ab1..532666ad76 100644 --- a/cpp/src/qpid/broker/Connection.cpp +++ b/cpp/src/qpid/broker/Connection.cpp @@ -72,7 +72,7 @@ struct ConnectionTimeoutTask : public sys::TimerTask { } }; -Connection::Connection(ConnectionOutputHandler* out_, Broker& broker_, const std::string& mgmtId_, unsigned int ssf, bool isLink_, uint64_t objectId) : +Connection::Connection(ConnectionOutputHandler* out_, Broker& broker_, const std::string& mgmtId_, unsigned int ssf, bool isLink_, uint64_t objectId, bool shadow_) : ConnectionState(out_, broker_), ssf(ssf), adapter(*this, isLink_), @@ -84,7 +84,7 @@ Connection::Connection(ConnectionOutputHandler* out_, Broker& broker_, const std agent(0), timer(broker_.getTimer()), errorListener(0), - shadow(false) + shadow(shadow_) { Manageable* parent = broker.GetVhostObject(); @@ -95,10 +95,10 @@ Connection::Connection(ConnectionOutputHandler* out_, Broker& broker_, const std { agent = broker_.getManagementAgent(); - // TODO set last bool true if system connection if (agent != 0) { mgmtObject = new _qmf::Connection(agent, this, parent, mgmtId, !isLink, false); + mgmtObject->set_shadow(shadow); agent->addObject(mgmtObject, objectId, true); } ConnectionState::setUrl(mgmtId); diff --git a/cpp/src/qpid/broker/Connection.h b/cpp/src/qpid/broker/Connection.h index 00778aea00..d49d9f4d75 100644 --- a/cpp/src/qpid/broker/Connection.h +++ b/cpp/src/qpid/broker/Connection.h @@ -79,7 +79,7 @@ class Connection : public sys::ConnectionInputHandler, }; Connection(sys::ConnectionOutputHandler* out, Broker& broker, const std::string& mgmtId, unsigned int ssf, - bool isLink = false, uint64_t objectId = 0); + bool isLink = false, uint64_t objectId = 0, bool shadow=false); ~Connection (); /** Get the SessionHandler for channel. Create if it does not already exist */ @@ -132,8 +132,6 @@ class Connection : public sys::ConnectionInputHandler, /** True if this is a shadow connection in a cluster. */ bool isShadow() { return shadow; } - /** Called by cluster to mark shadow connections */ - void setShadow() { shadow = true; } // Used by cluster to update connection status sys::AggregateOutput& getOutputTasks() { return outputTasks; } |
