summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/ClusterMap.h
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-10-07 17:27:06 +0000
committerAlan Conway <aconway@apache.org>2008-10-07 17:27:06 +0000
commit41d33af55b9fbf4c664ccb56accb1a37bd1ef006 (patch)
treede5e5b5e431bf695b2c44e198ee93d179201a0e2 /cpp/src/qpid/cluster/ClusterMap.h
parenta653ebe5bdfad1d44a576d2ab23f7e6ea80ba96f (diff)
downloadqpid-python-41d33af55b9fbf4c664ccb56accb1a37bd1ef006.tar.gz
broker: Fixed incorrect pass-by-reference of Queue::shared_ptr in several files.
cluster: added FailoverExchange - send cluster membership to clients. client: added FailoverListener - receive cluster updates from failover exchange. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@702552 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/ClusterMap.h')
-rw-r--r--cpp/src/qpid/cluster/ClusterMap.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/cpp/src/qpid/cluster/ClusterMap.h b/cpp/src/qpid/cluster/ClusterMap.h
index 79afba7dc0..c0012facaf 100644
--- a/cpp/src/qpid/cluster/ClusterMap.h
+++ b/cpp/src/qpid/cluster/ClusterMap.h
@@ -50,8 +50,10 @@ class ClusterMap {
ClusterMap(const MemberId& id, const Url& url, bool isReady);
ClusterMap(const framing::FieldTable& urls, const framing::FieldTable& states);
- /** Update from config change. */
- void configChange(
+ /** Update from config change.
+ *@return true if member set changed.
+ */
+ bool configChange(
cpg_address *current, int nCurrent,
cpg_address *left, int nLeft,
cpg_address *joined, int nJoined);
@@ -76,7 +78,9 @@ class ClusterMap {
bool dumpRequest(const MemberId& id, const std::string& url);
/** Return non-empty Url if accepted */
boost::optional<Url> dumpOffer(const MemberId& from, const MemberId& to);
- void ready(const MemberId& id, const Url&);
+
+ /**@return true If this is a new member */
+ bool ready(const MemberId& id, const Url&);
private:
Url getUrl(const Map& map, const MemberId& id);