summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/ClusterMap.h
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2009-01-22 22:53:50 +0000
committerGordon Sim <gsim@apache.org>2009-01-22 22:53:50 +0000
commitd7ce27f7cc96894f149e5c20c03b306b80636727 (patch)
tree22caa566993da19f9e211f69fdca64c13f1f04e6 /cpp/src/qpid/cluster/ClusterMap.h
parent74481dd2b6b97374bd4f260ca89d9103ce6383ed (diff)
downloadqpid-python-d7ce27f7cc96894f149e5c20c03b306b80636727.tar.gz
QPID-1567: More changes to make clustering and federation work together
* replicate outgoing link traffic to all nodes * coordinate amongst nodes so that only one node actually maintains active links with the others able to take over if that node fails git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@736841 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/ClusterMap.h')
-rw-r--r--cpp/src/qpid/cluster/ClusterMap.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/cpp/src/qpid/cluster/ClusterMap.h b/cpp/src/qpid/cluster/ClusterMap.h
index 5c1981269f..507fee9a72 100644
--- a/cpp/src/qpid/cluster/ClusterMap.h
+++ b/cpp/src/qpid/cluster/ClusterMap.h
@@ -76,6 +76,7 @@ class ClusterMap {
size_t aliveCount() const { return alive.size(); }
size_t memberCount() const { return members.size(); }
std::vector<Url> memberUrls() const;
+ Set getAlive() const;
bool dumpRequest(const MemberId& id, const std::string& url);
/** Return non-empty Url if accepted */
@@ -84,6 +85,10 @@ class ClusterMap {
/**@return true If this is a new member */
bool ready(const MemberId& id, const Url&);
+ /**
+ * Utility method to return intersection of two member sets
+ */
+ static Set intersection(const Set& a, const Set& b);
private:
Url getUrl(const Map& map, const MemberId& id);