From e2b079386b19c34a26bb4a7c67bd002ebb9bdc94 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Thu, 18 Sep 2008 13:55:30 +0000 Subject: Refactor Cluster logic into separate handlers for Joining & Member modes. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@696657 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/cluster/ClusterMap.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'cpp/src/qpid/cluster/ClusterMap.cpp') diff --git a/cpp/src/qpid/cluster/ClusterMap.cpp b/cpp/src/qpid/cluster/ClusterMap.cpp index 51e360ad73..e14e35998f 100644 --- a/cpp/src/qpid/cluster/ClusterMap.cpp +++ b/cpp/src/qpid/cluster/ClusterMap.cpp @@ -53,8 +53,8 @@ framing::ClusterUpdateBody ClusterMap::toControl() const { return b; } -void ClusterMap::update(const FieldTable& ftMembers, uint64_t dumper_) { - FieldTable::ValueMap::const_iterator i; +void ClusterMap::update(const framing::FieldTable& ftMembers, uint64_t dumper_) { + framing:: FieldTable::ValueMap::const_iterator i; for (i = ftMembers.begin(); i != ftMembers.end(); ++i) members[i->first] = Url(i->second->get()); dumper = MemberId(dumper_); @@ -82,8 +82,10 @@ bool ClusterMap::sendUpdate(const MemberId& id) const { return dumper==id || (!dumper && first() == id); } -void ClusterMap::add(const MemberId& id, const Url& url) { +void ClusterMap::ready(const MemberId& id, const Url& url) { members[id] = url; + if (id == dumper) + dumper = MemberId(); } }} // namespace qpid::cluster -- cgit v1.2.1