diff options
author | Alan Conway <aconway@apache.org> | 2009-11-18 17:26:43 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2009-11-18 17:26:43 +0000 |
commit | 1674d80b61862e1054140c96f5db9eb401b11f11 (patch) | |
tree | 1169853cb8f8376d7ebb078d28b2e76523302742 /cpp/src/qpid/cluster/Cluster.cpp | |
parent | bd3cae3b5691436369b4c37a570c766c1e8aafd2 (diff) | |
download | qpid-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.cpp | 9 |
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 << ")";; } |