summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/Cluster.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/Cluster.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/Cluster.cpp')
-rw-r--r--cpp/src/qpid/cluster/Cluster.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/cpp/src/qpid/cluster/Cluster.cpp b/cpp/src/qpid/cluster/Cluster.cpp
index 9756ad0a62..5e962e9767 100644
--- a/cpp/src/qpid/cluster/Cluster.cpp
+++ b/cpp/src/qpid/cluster/Cluster.cpp
@@ -208,7 +208,7 @@ Cluster::Cluster(const ClusterSettings& set, broker::Broker& b) :
decoder(boost::bind(&Cluster::deliverFrame, this, _1)),
discarding(true),
state(INIT),
- initMap(self),
+ initMap(self, settings.size),
lastSize(0),
lastBroker(false),
updateRetracted(false),
@@ -403,8 +403,7 @@ void Cluster::flagError(
<< ": " << msg);
leave(l);
}
- else if (settings.checkErrors)
- error.error(connection, type, map.getFrameSeq(), map.getMembers(), msg);
+ error.error(connection, type, map.getFrameSeq(), map.getMembers(), msg);
}
// Handler for deliverFrameQueue.
@@ -423,7 +422,7 @@ void Cluster::deliveredFrame(const EventFrame& efConst) {
deliverEventQueue.start();
}
// Process each frame through the error checker.
- if (settings.checkErrors && error.isUnresolved()) {
+ if (error.isUnresolved()) {
error.delivered(e);
while (error.canProcess()) // There is a frame ready to process.
processFrame(error.getNext(), l);
@@ -874,7 +873,7 @@ std::ostream& operator<<(std::ostream& o, const Cluster& cluster) {
};
assert(sizeof(STATE)/sizeof(*STATE) == Cluster::LEFT+1);
o << "cluster(" << cluster.self << " " << STATE[cluster.state];
- if (cluster.settings.checkErrors && cluster.error.isUnresolved()) o << "/error";
+ if (cluster.error.isUnresolved()) o << "/error";
return o << ")";;
}