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 | bada43c7a879fc6ac3a1841177c046df94dfec43 (patch) | |
| tree | 68ae4c033fcf4f36c19966bf474c9ebdafd40fdf /cpp/src/qpid/cluster/MemberSet.cpp | |
| parent | 5099fbc7039497bdbff3cbdf64fac090452ad3ff (diff) | |
| download | qpid-python-bada43c7a879fc6ac3a1841177c046df94dfec43.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) { |
