summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/InitialStatusMap.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2009-11-18 17:26:43 +0000
committerAlan Conway <aconway@apache.org>2009-11-18 17:26:43 +0000
commit1674d80b61862e1054140c96f5db9eb401b11f11 (patch)
tree1169853cb8f8376d7ebb078d28b2e76523302742 /cpp/src/qpid/cluster/InitialStatusMap.cpp
parentbd3cae3b5691436369b4c37a570c766c1e8aafd2 (diff)
downloadqpid-python-1674d80b61862e1054140c96f5db9eb401b11f11.tar.gz
Added cluster option --cluster-size.
--cluster-size=N means that during start-up the cluster waits to have N members before accepting any clients. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@881839 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/InitialStatusMap.cpp')
-rw-r--r--cpp/src/qpid/cluster/InitialStatusMap.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/cpp/src/qpid/cluster/InitialStatusMap.cpp b/cpp/src/qpid/cluster/InitialStatusMap.cpp
index 6d27b3ae72..f2251f4043 100644
--- a/cpp/src/qpid/cluster/InitialStatusMap.cpp
+++ b/cpp/src/qpid/cluster/InitialStatusMap.cpp
@@ -28,8 +28,8 @@ using namespace boost;
namespace qpid {
namespace cluster {
-InitialStatusMap::InitialStatusMap(const MemberId& self_)
- : self(self_), completed(), resendNeeded()
+InitialStatusMap::InitialStatusMap(const MemberId& self_, size_t size_)
+ : self(self_), completed(), resendNeeded(), size(size_)
{}
void InitialStatusMap::configChange(const MemberSet& members) {
@@ -83,7 +83,8 @@ bool InitialStatusMap::isActive(const Map::value_type& v) {
}
bool InitialStatusMap::isComplete() {
- return !map.empty() && find_if(map.begin(), map.end(), &notInitialized) == map.end();
+ return !map.empty() && find_if(map.begin(), map.end(), &notInitialized) == map.end()
+ && (map.size() >= size);
}
bool InitialStatusMap::transitionToComplete() {