diff options
author | Alan Conway <aconway@apache.org> | 2010-02-05 18:17:57 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2010-02-05 18:17:57 +0000 |
commit | 4908b9593c12e93ace60f7c15382c07750f1ca20 (patch) | |
tree | d32ad984892603c73bef8f8146f8595323d41a72 /cpp/src/qpid/cluster/Connection.cpp | |
parent | 5e6c819aa19922a66288986b79e21dfd9a03c837 (diff) | |
download | qpid-python-4908b9593c12e93ace60f7c15382c07750f1ca20.tar.gz |
Synchronize management agent lists during cluster update.
- replicate management agent lists during cluster update.
- suppress management agent output during update.
- on join all members force full output at next periodic processing.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@907030 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/Connection.cpp')
-rw-r--r-- | cpp/src/qpid/cluster/Connection.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/cpp/src/qpid/cluster/Connection.cpp b/cpp/src/qpid/cluster/Connection.cpp index 5faa184e30..3ce2b3f376 100644 --- a/cpp/src/qpid/cluster/Connection.cpp +++ b/cpp/src/qpid/cluster/Connection.cpp @@ -197,7 +197,6 @@ struct GiveReadCreditOnExit { void Connection::deliverDoOutput(uint32_t limit) { output.deliverDoOutput(limit); - cluster.debugSnapshot("deliver-do-output", this); } // Called in delivery thread, in cluster order. @@ -532,5 +531,14 @@ void Connection::managementSetupState(uint64_t objectNum, uint16_t bootSequence) agent->setBootSequence(bootSequence); } +void Connection::managementAgents(const std::string& data) { + management::ManagementAgent* agent = cluster.getBroker().getManagementAgent(); + if (!agent) + throw Exception(QPID_MSG("Management agents update but no management agent.")); + framing::Buffer buf(const_cast<char*>(data.data()), data.size()); + agent->importAgents(buf); + QPID_LOG(debug, cluster << " updated management agents"); +} + }} // Namespace qpid::cluster |