diff options
author | Alan Conway <aconway@apache.org> | 2008-09-18 13:55:30 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2008-09-18 13:55:30 +0000 |
commit | e2b079386b19c34a26bb4a7c67bd002ebb9bdc94 (patch) | |
tree | c190fa29f5a58530bba7f174ec6f5727c36630ba /cpp/src/qpid/cluster/ClusterMap.cpp | |
parent | fcc3335293a77c8e9130ea1836ee55872d6b28f5 (diff) | |
download | qpid-python-e2b079386b19c34a26bb4a7c67bd002ebb9bdc94.tar.gz |
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
Diffstat (limited to 'cpp/src/qpid/cluster/ClusterMap.cpp')
-rw-r--r-- | cpp/src/qpid/cluster/ClusterMap.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
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<std::string>()); 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 |