summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/Connection.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2010-01-28 21:38:19 +0000
committerAlan Conway <aconway@apache.org>2010-01-28 21:38:19 +0000
commit9ba42cc7b5b593a94d879894d0d13276d56490aa (patch)
tree9025ebbd90003cb434404ce1be7e47456651fb29 /cpp/src/qpid/cluster/Connection.cpp
parentf1815fef1848e3fe006a9a4c944c6401ad7d6cc2 (diff)
downloadqpid-python-9ba42cc7b5b593a94d879894d0d13276d56490aa.tar.gz
QPID-2357 Broker boot sequence doesn't synchronize when clustered - patch from John Dunning
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@904270 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/Connection.cpp')
-rw-r--r--cpp/src/qpid/cluster/Connection.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/cpp/src/qpid/cluster/Connection.cpp b/cpp/src/qpid/cluster/Connection.cpp
index 3f37d63255..c1c9c02611 100644
--- a/cpp/src/qpid/cluster/Connection.cpp
+++ b/cpp/src/qpid/cluster/Connection.cpp
@@ -513,5 +513,19 @@ void Connection::managementSchema(const std::string& data) {
QPID_LOG(debug, cluster << " updated management schemas");
}
+//
+// This is the handler for incoming managementsetup messages.
+//
+void Connection::managementSetupState(uint64_t objectNum, uint16_t bootSequence)
+{
+ QPID_LOG(debug, "Running managementsetup state handler, new objectnum "
+ << objectNum << " seq " << bootSequence);
+ management::ManagementAgent* agent = cluster.getBroker().getManagementAgent();
+ if (!agent)
+ throw Exception(QPID_MSG("Management schema update but no management agent."));
+ agent->setNextObjectId(objectNum);
+ agent->setBootSequence(bootSequence);
+}
+
}} // Namespace qpid::cluster