summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/InitialStatusMap.h
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2010-03-08 17:34:09 +0000
committerAlan Conway <aconway@apache.org>2010-03-08 17:34:09 +0000
commitc1266e53dd9c20447f658b050fb789d4f0f9ab12 (patch)
tree513716e9b9b97f57c5493a9ec2e5186ef78c811e /cpp/src/qpid/cluster/InitialStatusMap.h
parentb97d2e0e9246a19eb155a38b9b06a9550ceb06aa (diff)
downloadqpid-python-c1266e53dd9c20447f658b050fb789d4f0f9ab12.tar.gz
QPID-2436: Fix cluster update of remote agents.
The v2key of cluster agents was not being passed as part of a cluster update. This meant they were not being associated with the correct shadow connections on the updatee. This caused inconsistencies that shut down the new broker. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@920414 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/InitialStatusMap.h')
-rw-r--r--cpp/src/qpid/cluster/InitialStatusMap.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/cpp/src/qpid/cluster/InitialStatusMap.h b/cpp/src/qpid/cluster/InitialStatusMap.h
index 26a99fa0b0..eedc99b0b2 100644
--- a/cpp/src/qpid/cluster/InitialStatusMap.h
+++ b/cpp/src/qpid/cluster/InitialStatusMap.h
@@ -31,6 +31,11 @@ namespace cluster {
/**
* Track status of cluster members during initialization.
+ *
+ * When a new member joins the CPG cluster, all members send an initial-status
+ * control. This map tracks those controls and provides data to make descisions
+ * about joining the cluster.
+ *
*/
class InitialStatusMap
{
@@ -38,7 +43,7 @@ class InitialStatusMap
typedef framing::ClusterInitialStatusBody Status;
InitialStatusMap(const MemberId& self, size_t size);
- /** Process a config change. @return true if we need to re-send our status */
+ /** Process a config change. May make isResendNeeded() true. */
void configChange(const MemberSet& newConfig);
/** @return true if we need to re-send status */
bool isResendNeeded();
@@ -52,7 +57,7 @@ class InitialStatusMap
bool transitionToComplete();
/**@pre isComplete(). @return this node's elders */
MemberSet getElders() const;
- /**@pre isComplete(). @return True if we need an update. */
+ /**@pre isComplete(). @return True if we need to request an update. */
bool isUpdateNeeded();
/**@pre isComplete(). @return Cluster-wide cluster ID. */
framing::Uuid getClusterId();