From 8cba19c48210f14a36b92046005914036201be47 Mon Sep 17 00:00:00 2001 From: Andrew Stitcher Date: Thu, 30 Jul 2009 14:06:55 +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@799274 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/Broker.h | 2 +- cpp/src/qpid/broker/LinkRegistry.cpp | 10 +++++----- cpp/src/qpid/broker/LinkRegistry.h | 2 +- cpp/src/qpid/management/ManagementAgent.cpp | 6 +++--- cpp/src/qpid/management/ManagementAgent.h | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) (limited to 'cpp/src') diff --git a/cpp/src/qpid/broker/Broker.h b/cpp/src/qpid/broker/Broker.h index 0f0db9e11b..0517ceca95 100644 --- a/cpp/src/qpid/broker/Broker.h +++ b/cpp/src/qpid/broker/Broker.h @@ -122,6 +122,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; @@ -132,7 +133,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 7ef6ce5301..c70392eb23 100644 --- a/cpp/src/qpid/broker/LinkRegistry.cpp +++ b/cpp/src/qpid/broker/LinkRegistry.cpp @@ -41,18 +41,18 @@ namespace _qmf = qmf::org::apache::qpid::broker; // factored: The persistence element and maintenance element // should be factored separately LinkRegistry::LinkRegistry () : - broker(0), + broker(0), timer(0), parent(0), store(0), passive(false), passiveChanged(false), realm("") { } LinkRegistry::LinkRegistry (Broker* _broker) : - broker(_broker), - parent(0), store(0), passive(false), passiveChanged(false), + broker(_broker), timer(&broker->getTimer()), + parent(0), store(0), passive(false), passiveChanged(false), realm(broker->getOptions().realm) { - timer.add (new Periodic(*this)); + timer->add (new Periodic(*this)); } LinkRegistry::Periodic::Periodic (LinkRegistry& _links) : @@ -61,7 +61,7 @@ LinkRegistry::Periodic::Periodic (LinkRegistry& _links) : void LinkRegistry::Periodic::fire () { links.periodicMaintenance (); - links.timer.add (new Periodic(links)); + links.timer->add (new Periodic(links)); } void LinkRegistry::periodicMaintenance () diff --git a/cpp/src/qpid/broker/LinkRegistry.h b/cpp/src/qpid/broker/LinkRegistry.h index c32203c2b0..d1a4201c82 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 8cf7f7878a..2df10b1e95 100644 --- a/cpp/src/qpid/management/ManagementAgent.cpp +++ b/cpp/src/qpid/management/ManagementAgent.cpp @@ -62,7 +62,6 @@ ManagementAgent::ManagementAgent () : ManagementAgent::~ManagementAgent () { - timer.stop(); { Mutex::ScopedLock lock (userLock); @@ -90,9 +89,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()) @@ -219,7 +219,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 e1bb83cfea..84e84e3daa 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