summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/ClusterSafe.h
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2010-06-09 20:29:32 +0000
committerAlan Conway <aconway@apache.org>2010-06-09 20:29:32 +0000
commit1951f9cf0c246b53d1cddf65dfdb059ad8662377 (patch)
tree2a8862e880777b61ecaae29bc335f18ade5c18c5 /cpp/src/qpid/sys/ClusterSafe.h
parent81763331d2256790538f7003e8b98a9fee802881 (diff)
downloadqpid-python-1951f9cf0c246b53d1cddf65dfdb059ad8662377.tar.gz
Fix cluster-safe assertion in connection negotiation.
See https://bugzilla.redhat.com/show_bug.cgi?id=602347. In a cluster, raise the management connect event when processing cluster.announce. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@953147 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/sys/ClusterSafe.h')
-rw-r--r--cpp/src/qpid/sys/ClusterSafe.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/cpp/src/qpid/sys/ClusterSafe.h b/cpp/src/qpid/sys/ClusterSafe.h
index abb9ad0fff..f3382307d0 100644
--- a/cpp/src/qpid/sys/ClusterSafe.h
+++ b/cpp/src/qpid/sys/ClusterSafe.h
@@ -42,6 +42,20 @@ namespace sys {
QPID_COMMON_EXTERN void assertClusterSafe();
/**
+ * In a non-clustered broker, returns true.
+ *
+ * In a clustered broker returns true if we are in a context where it
+ * is safe to modify cluster state.
+ *
+ * This function is in the common library rather than the cluster
+ * library because it is called by code in the broker library.
+ */
+QPID_COMMON_EXTERN bool isClusterSafe();
+
+/** Return true in a clustered broker */
+QPID_COMMON_EXTERN bool isCluster();
+
+/**
* Base class for classes that encapsulate state which is replicated
* to all members of a cluster. Acts as a marker for clustered state
* and provides functions to assist detecting bugs in cluster
@@ -53,7 +67,8 @@ struct ClusterSafeScope {
};
/**
- * Enable cluster-safe assertions. By defaul they are no-ops.
+ * Enable cluster-safe assertions. By default they are no-ops.
+ * Called by cluster code.
*/
void enableClusterSafe();