diff options
| author | Alan Conway <aconway@apache.org> | 2008-09-26 19:22:00 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2008-09-26 19:22:00 +0000 |
| commit | 44366590caa13db09e55e2c853bd66b363558fa7 (patch) | |
| tree | e6ecd10c956fee5f5e865670911ea9ef46e1ed76 /cpp/src/qpid/cluster/ClusterMap.h | |
| parent | b22dd47558cc11572d080ac25808012092dda597 (diff) | |
| download | qpid-python-44366590caa13db09e55e2c853bd66b363558fa7.tar.gz | |
cluster:]
- call updateMemberStats() exactly once for each change in cluster membership.
- fix spurious replication of catch-up connection close events.
Removed unused client/MessageQueue.h
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@699456 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/ClusterMap.h')
| -rw-r--r-- | cpp/src/qpid/cluster/ClusterMap.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/cpp/src/qpid/cluster/ClusterMap.h b/cpp/src/qpid/cluster/ClusterMap.h index b00f818f88..60fef75f0e 100644 --- a/cpp/src/qpid/cluster/ClusterMap.h +++ b/cpp/src/qpid/cluster/ClusterMap.h @@ -50,17 +50,21 @@ class ClusterMap { /** First member of the cluster in ID order, gets to perform one-off tasks. */ MemberId first() const; - /** Update for members leaving. */ - void left(const cpg_address* addrs, size_t size); + /** Update for members leaving. + *@return true if the cluster membership changed. + */ + bool left(const cpg_address* addrs, size_t size); /** Convert map contents to a cluster update body. */ framing::ClusterUpdateBody toControl() const; /** Add a new member or dump complete if id == dumper. */ - void ready(const MemberId& id, const Url& url); + bool ready(const MemberId& id, const Url& url); - /** Apply update delivered from clsuter. */ - void update(const framing::FieldTable& members, uint64_t dumper); + /** Apply update delivered from cluster. + *@return true if cluster membership changed. + **/ + bool update(const framing::FieldTable& members, uint64_t dumper); bool isMember(const MemberId& id) const { return members.find(id) != members.end(); } @@ -72,7 +76,6 @@ class ClusterMap { private: friend std::ostream& operator<<(std::ostream&, const ClusterMap&); - friend std::ostream& operator<<(std::ostream& o, const ClusterMap::Members::value_type& mv); }; }} // namespace qpid::cluster |
