diff options
| author | Alan Conway <aconway@apache.org> | 2010-01-27 20:56:31 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2010-01-27 20:56:31 +0000 |
| commit | d1c4af32b27b6d242d2b15e4dc91152a6d3e4a5a (patch) | |
| tree | 68ae4c033fcf4f36c19966bf474c9ebdafd40fdf /cpp/src/qpid/cluster/MemberSet.cpp | |
| parent | 1e24432f3f0333890334648d808410fb3e9535cd (diff) | |
| download | qpid-python-d1c4af32b27b6d242d2b15e4dc91152a6d3e4a5a.tar.gz | |
Fix cluster elder calculation to ensure unique elder.
Race condition in the previous algorithm allowed several cluster
members to consider themselves the elder.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@903826 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/MemberSet.cpp')
| -rw-r--r-- | cpp/src/qpid/cluster/MemberSet.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cpp/src/qpid/cluster/MemberSet.cpp b/cpp/src/qpid/cluster/MemberSet.cpp index 5dc148609f..0fdf4a8f96 100644 --- a/cpp/src/qpid/cluster/MemberSet.cpp +++ b/cpp/src/qpid/cluster/MemberSet.cpp @@ -25,6 +25,13 @@ namespace qpid { namespace cluster { +std::string encodeMemberSet(const MemberSet& m) { + std::string addresses; + for (MemberSet::const_iterator i = m.begin(); i != m.end(); ++i) + addresses.append(i->str()); + return addresses; +} + MemberSet decodeMemberSet(const std::string& s) { MemberSet set; for (std::string::const_iterator i = s.begin(); i < s.end(); i += 8) { |
