summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/Connection.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2010-02-05 18:17:57 +0000
committerAlan Conway <aconway@apache.org>2010-02-05 18:17:57 +0000
commit4908b9593c12e93ace60f7c15382c07750f1ca20 (patch)
treed32ad984892603c73bef8f8146f8595323d41a72 /cpp/src/qpid/cluster/Connection.cpp
parent5e6c819aa19922a66288986b79e21dfd9a03c837 (diff)
downloadqpid-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.cpp10
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