diff options
| author | Alan Conway <aconway@apache.org> | 2010-01-27 22:20:51 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2010-01-27 22:20:51 +0000 |
| commit | 1297c818282f26838776df418d846e07457a7f7f (patch) | |
| tree | d69c3b15f76b9d83a62462df3ca5211a45be7a4b /cpp/src/qpid/broker | |
| parent | d0df2e739d5fba4bfb9f549720518e55d6fa9c9c (diff) | |
| download | qpid-python-1297c818282f26838776df418d846e07457a7f7f.tar.gz | |
Added PeriodicTimer interface for periodic tasks that need cluster synchronization.
The ManagementAgent's periodic prociessing uses PeriodicTimer.
PeriodicTimerImpl is the default implementation for stand-alone
brokers, simple wrapper for sys::Timer.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@903866 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker')
| -rw-r--r-- | cpp/src/qpid/broker/Broker.cpp | 2 | ||||
| -rw-r--r-- | cpp/src/qpid/broker/Broker.h | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/Broker.cpp b/cpp/src/qpid/broker/Broker.cpp index 9b05373144..f47b6418bd 100644 --- a/cpp/src/qpid/broker/Broker.cpp +++ b/cpp/src/qpid/broker/Broker.cpp @@ -49,6 +49,7 @@ #include "qpid/sys/ConnectionInputHandlerFactory.h" #include "qpid/sys/TimeoutHandler.h" #include "qpid/sys/SystemInfo.h" +#include "qpid/sys/PeriodicTimerImpl.h" #include "qpid/Address.h" #include "qpid/Url.h" #include "qpid/Version.h" @@ -136,6 +137,7 @@ const std::string knownHostsNone("none"); Broker::Broker(const Broker::Options& conf) : poller(new Poller), + periodicTimer(new sys::PeriodicTimerImpl(timer)), config(conf), managementAgent(conf.enableMgmt ? new ManagementAgent() : 0), store(new NullMessageStore), diff --git a/cpp/src/qpid/broker/Broker.h b/cpp/src/qpid/broker/Broker.h index b85aa7d96c..04d62306da 100644 --- a/cpp/src/qpid/broker/Broker.h +++ b/cpp/src/qpid/broker/Broker.h @@ -49,6 +49,7 @@ #include "qpid/framing/ProtocolInitiation.h" #include "qpid/sys/Runnable.h" #include "qpid/sys/Timer.h" +#include "qpid/sys/PeriodicTimer.h" #include "qpid/RefCounted.h" #include "qpid/broker/AclModule.h" #include "qpid/sys/Mutex.h" @@ -146,6 +147,7 @@ public: boost::shared_ptr<sys::Poller> poller; sys::Timer timer; + std::auto_ptr<sys::PeriodicTimer> periodicTimer; Options config; std::auto_ptr<management::ManagementAgent> managementAgent; ProtocolFactoryMap protocolFactories; @@ -253,6 +255,8 @@ public: void setConnectionFactory(boost::shared_ptr<sys::ConnectionCodec::Factory> f) { factory = f; } sys::Timer& getTimer() { return timer; } + sys::PeriodicTimer& getPeriodicTimer() { return *periodicTimer; } + void setPeriodicTimer(std::auto_ptr<sys::PeriodicTimer> pt) { periodicTimer = pt; } boost::function<std::vector<Url> ()> getKnownBrokers; |
