summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/Cluster.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/cluster/Cluster.h')
-rw-r--r--cpp/src/qpid/cluster/Cluster.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/cpp/src/qpid/cluster/Cluster.h b/cpp/src/qpid/cluster/Cluster.h
index 08911081ea..977c873e29 100644
--- a/cpp/src/qpid/cluster/Cluster.h
+++ b/cpp/src/qpid/cluster/Cluster.h
@@ -63,7 +63,7 @@ namespace cluster {
class Connection;
class EventFrame;
-class PeriodicTimerImpl;
+class ClusterTimer;
/**
* Connection to the cluster
@@ -164,7 +164,8 @@ class Cluster : private Cpg::Handler, public management::Manageable {
void configChange(const MemberId&, const std::string& current, Lock& l);
void messageExpired(const MemberId&, uint64_t, Lock& l);
void errorCheck(const MemberId&, uint8_t type, SequenceNumber frameSeq, Lock&);
- void periodicTimer(const MemberId&, const std::string& name, Lock&);
+ void timerWakeup(const MemberId&, const std::string& name, Lock&);
+ void timerDrop(const MemberId&, const std::string& name, Lock&);
void shutdown(const MemberId&, const framing::Uuid& shutdownId, Lock&);
@@ -201,6 +202,8 @@ class Cluster : private Cpg::Handler, public management::Manageable {
const struct cpg_address */*joined*/, int /*nJoined*/
);
+ void becomeElder();
+
// == Called in management threads.
virtual qpid::management::ManagementObject* GetManagementObject() const;
virtual management::Manageable::status_t ManagementMethod (uint32_t methodId, management::Args& args, std::string& text);
@@ -265,6 +268,7 @@ class Cluster : private Cpg::Handler, public management::Manageable {
StoreStatus store;
ClusterMap map;
MemberSet elders;
+ bool elder;
size_t lastSize;
bool lastBroker;
sys::Thread updateThread;
@@ -272,7 +276,7 @@ class Cluster : private Cpg::Handler, public management::Manageable {
bool updateRetracted;
ErrorCheck error;
UpdateReceiver updateReceiver;
- PeriodicTimerImpl* timer;
+ ClusterTimer* timer;
friend std::ostream& operator<<(std::ostream&, const Cluster&);
friend class ClusterDispatcher;