From a51372142a8612b40d71227ffacad8a64cc300ea Mon Sep 17 00:00:00 2001 From: Andrew Stitcher Date: Fri, 10 Jul 2009 21:42:19 +0000 Subject: Change remaining broker Timer clients to use the single broker Timer git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793122 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/Broker.h | 2 +- cpp/src/qpid/broker/LinkRegistry.cpp | 6 ++++-- cpp/src/qpid/broker/LinkRegistry.h | 2 +- cpp/src/qpid/management/ManagementAgent.cpp | 6 +++--- cpp/src/qpid/management/ManagementAgent.h | 2 +- 5 files changed, 10 insertions(+), 8 deletions(-) (limited to 'cpp/src') diff --git a/cpp/src/qpid/broker/Broker.h b/cpp/src/qpid/broker/Broker.h index eb6fa94e14..1e0ac64e01 100644 --- a/cpp/src/qpid/broker/Broker.h +++ b/cpp/src/qpid/broker/Broker.h @@ -119,6 +119,7 @@ public: void declareStandardExchange(const std::string& name, const std::string& type); boost::shared_ptr poller; + sys::Timer timer; Options config; ProtocolFactoryMap protocolFactories; std::auto_ptr store; @@ -129,7 +130,6 @@ public: ExchangeRegistry exchanges; LinkRegistry links; boost::shared_ptr factory; - sys::Timer timer; DtxManager dtxManager; SessionManager sessionManager; management::ManagementAgent* managementAgent; diff --git a/cpp/src/qpid/broker/LinkRegistry.cpp b/cpp/src/qpid/broker/LinkRegistry.cpp index 7b34e4c113..a82e828138 100644 --- a/cpp/src/qpid/broker/LinkRegistry.cpp +++ b/cpp/src/qpid/broker/LinkRegistry.cpp @@ -36,8 +36,10 @@ namespace _qmf = qmf::org::apache::qpid::broker; #define LINK_MAINT_INTERVAL 2 -LinkRegistry::LinkRegistry (Broker* _broker) : broker(_broker), parent(0), store(0), passive(false), passiveChanged(false), - realm(broker ? broker->getOptions().realm : "") +LinkRegistry::LinkRegistry (Broker* _broker) : + broker(_broker), timer(broker->getTimer()), + parent(0), store(0), passive(false), passiveChanged(false), + realm(broker ? broker->getOptions().realm : "") { timer.add (new Periodic(*this)); } diff --git a/cpp/src/qpid/broker/LinkRegistry.h b/cpp/src/qpid/broker/LinkRegistry.h index f8333b7012..1caffb9232 100644 --- a/cpp/src/qpid/broker/LinkRegistry.h +++ b/cpp/src/qpid/broker/LinkRegistry.h @@ -62,7 +62,7 @@ namespace broker { qpid::sys::Mutex lock; Broker* broker; - sys::Timer timer; + sys::Timer& timer; management::Manageable* parent; MessageStore* store; bool passive; diff --git a/cpp/src/qpid/management/ManagementAgent.cpp b/cpp/src/qpid/management/ManagementAgent.cpp index ca9f6b11e3..76859dd77f 100644 --- a/cpp/src/qpid/management/ManagementAgent.cpp +++ b/cpp/src/qpid/management/ManagementAgent.cpp @@ -61,7 +61,6 @@ ManagementAgent::ManagementAgent () : ManagementAgent::~ManagementAgent () { - timer.stop(); { Mutex::ScopedLock lock (userLock); @@ -89,9 +88,10 @@ void ManagementAgent::configure(const string& _dataDir, uint16_t _interval, dataDir = _dataDir; interval = _interval; broker = _broker; + timer = &_broker->getTimer(); threadPoolSize = _threads; ManagementObject::maxThreads = threadPoolSize; - timer.add (new Periodic(*this, interval)); + timer->add (new Periodic(*this, interval)); // Get from file or generate and save to file. if (dataDir.empty()) @@ -218,7 +218,7 @@ ManagementAgent::Periodic::~Periodic () {} void ManagementAgent::Periodic::fire () { - agent.timer.add (intrusive_ptr (new Periodic (agent, agent.interval))); + agent.timer->add (new Periodic (agent, agent.interval)); agent.periodicProcessing (); } diff --git a/cpp/src/qpid/management/ManagementAgent.h b/cpp/src/qpid/management/ManagementAgent.h index 05a39d6fd5..ca89c1f8fb 100644 --- a/cpp/src/qpid/management/ManagementAgent.h +++ b/cpp/src/qpid/management/ManagementAgent.h @@ -183,12 +183,12 @@ private: framing::Uuid uuid; sys::Mutex addLock; sys::Mutex userLock; - qpid::sys::Timer timer; qpid::broker::Exchange::shared_ptr mExchange; qpid::broker::Exchange::shared_ptr dExchange; std::string dataDir; uint16_t interval; qpid::broker::Broker* broker; + qpid::sys::Timer* timer; uint16_t bootSequence; uint32_t nextObjectId; uint32_t brokerBank; -- cgit v1.2.1