diff options
author | Andrew Stitcher <astitcher@apache.org> | 2009-08-07 19:45:56 +0000 |
---|---|---|
committer | Andrew Stitcher <astitcher@apache.org> | 2009-08-07 19:45:56 +0000 |
commit | d6d15604657537f84654556b2c050c5274bd36b5 (patch) | |
tree | 2b5527d3a708c6eb879016c14d11e5b641a10143 | |
parent | 1e24d25544fcbc71a3732ddd73312571690665b9 (diff) | |
download | qpid-python-d6d15604657537f84654556b2c050c5274bd36b5.tar.gz |
Removed unused files
Removed unused functions from Timer
Switched TimerTest to sys::Timer
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@802160 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | cpp/src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | cpp/src/Makefile.am | 4 | ||||
-rw-r--r-- | cpp/src/qpid/broker/BrokerSingleton.cpp | 36 | ||||
-rw-r--r-- | cpp/src/qpid/broker/BrokerSingleton.h | 53 | ||||
-rw-r--r-- | cpp/src/qpid/broker/Timer.cpp | 120 | ||||
-rw-r--r-- | cpp/src/qpid/broker/Timer.h | 87 | ||||
-rw-r--r-- | cpp/src/qpid/sys/Timer.cpp | 2 | ||||
-rw-r--r-- | cpp/src/qpid/sys/Timer.h | 2 | ||||
-rw-r--r-- | cpp/src/tests/TimerTest.cpp | 3 |
9 files changed, 1 insertions, 308 deletions
diff --git a/cpp/src/CMakeLists.txt b/cpp/src/CMakeLists.txt index 3739e22cd1..a1d01ceca4 100644 --- a/cpp/src/CMakeLists.txt +++ b/cpp/src/CMakeLists.txt @@ -533,7 +533,6 @@ set (libqpidbroker_SOURCES qpid/amqp_0_10/Connection.h qpid/amqp_0_10/Connection.cpp qpid/broker/Broker.cpp - qpid/broker/BrokerSingleton.cpp qpid/broker/Exchange.cpp qpid/broker/ExpiryPolicy.cpp qpid/broker/Queue.cpp @@ -586,7 +585,6 @@ set (libqpidbroker_SOURCES qpid/broker/SessionHandler.h qpid/broker/SessionHandler.cpp qpid/broker/System.cpp - qpid/broker/Timer.cpp qpid/broker/TopicExchange.cpp qpid/broker/TxAccept.cpp qpid/broker/TxBuffer.cpp diff --git a/cpp/src/Makefile.am b/cpp/src/Makefile.am index a465f13b11..24b92c8981 100644 --- a/cpp/src/Makefile.am +++ b/cpp/src/Makefile.am @@ -479,8 +479,6 @@ libqpidbroker_la_SOURCES = \ qpid/broker/Broker.cpp \ qpid/broker/Broker.h \ qpid/broker/BrokerImportExport.h \ - qpid/broker/BrokerSingleton.cpp \ - qpid/broker/BrokerSingleton.h \ qpid/broker/Connection.cpp \ qpid/broker/Connection.h \ qpid/broker/ConnectionFactory.cpp \ @@ -603,8 +601,6 @@ libqpidbroker_la_SOURCES = \ qpid/broker/SignalHandler.h \ qpid/broker/System.cpp \ qpid/broker/System.h \ - qpid/broker/Timer.cpp \ - qpid/broker/Timer.h \ qpid/broker/TopicExchange.cpp \ qpid/broker/TopicExchange.h \ qpid/broker/TransactionalStore.h \ diff --git a/cpp/src/qpid/broker/BrokerSingleton.cpp b/cpp/src/qpid/broker/BrokerSingleton.cpp deleted file mode 100644 index 9dfdd1f6b8..0000000000 --- a/cpp/src/qpid/broker/BrokerSingleton.cpp +++ /dev/null @@ -1,36 +0,0 @@ -/* - * - * Copyright (c) 2006 The Apache Software Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include "qpid/broker/BrokerSingleton.h" - -namespace qpid { -namespace broker { - -BrokerSingleton::BrokerSingleton() { - if (broker.get() == 0) - broker = Broker::create(); - boost::intrusive_ptr<Broker>::operator=(broker); -} - -BrokerSingleton::~BrokerSingleton() { - broker->shutdown(); -} - -boost::intrusive_ptr<Broker> BrokerSingleton::broker; - -}} // namespace qpid::broker diff --git a/cpp/src/qpid/broker/BrokerSingleton.h b/cpp/src/qpid/broker/BrokerSingleton.h deleted file mode 100644 index 44a9b8b77c..0000000000 --- a/cpp/src/qpid/broker/BrokerSingleton.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef _broker_BrokerSingleton_h -#define _broker_BrokerSingleton_h - -/* - * - * Copyright (c) 2006 The Apache Software Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include "qpid/broker/Broker.h" -#include "qpid/broker/BrokerImportExport.h" - -namespace qpid { -namespace broker { - -/** - * BrokerSingleton is a smart pointer to a process-wide singleton broker - * started on an os-chosen port. The broker starts the first time - * an instance of BrokerSingleton is created and runs untill the process exits. - * - * Useful for unit tests that want to share a broker between multiple - * tests to reduce overhead of starting/stopping a broker for every test. - * - * Tests that need a new broker can create it directly. - * - * THREAD UNSAFE. - */ -class QPID_BROKER_EXTERN BrokerSingleton : public boost::intrusive_ptr<Broker> -{ - public: - BrokerSingleton(); - ~BrokerSingleton(); - private: - static boost::intrusive_ptr<Broker> broker; -}; - -}} // namespace qpid::broker - - - -#endif /*!_broker_BrokerSingleton_h*/ diff --git a/cpp/src/qpid/broker/Timer.cpp b/cpp/src/qpid/broker/Timer.cpp deleted file mode 100644 index 74d208eceb..0000000000 --- a/cpp/src/qpid/broker/Timer.cpp +++ /dev/null @@ -1,120 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ -#include "qpid/broker/Timer.h" -#include <iostream> - -using boost::intrusive_ptr; -using qpid::sys::AbsTime; -using qpid::sys::Duration; -using qpid::sys::Monitor; -using qpid::sys::Thread; -using qpid::sys::Mutex; -using qpid::sys::ScopedLock; -using namespace qpid::broker; - -TimerTask::TimerTask(Duration timeout) : - duration(timeout), time(AbsTime::now(), timeout), cancelled(false) {} - -TimerTask::TimerTask(AbsTime _time) : - duration(0), time(_time), cancelled(false) {} - -TimerTask::~TimerTask(){} - -void TimerTask::reset() { time = AbsTime(AbsTime::now(), duration); } - -void TimerTask::cancel() { - ScopedLock<Mutex> l(cancelLock); - cancelled = true; -} - -bool TimerTask::isCancelled() const { return cancelled; } - -Timer::Timer() : active(false) -{ - start(); -} - -Timer::~Timer() -{ - stop(); -} - -void Timer::run() -{ - Monitor::ScopedLock l(monitor); - while(active){ - if (tasks.empty()) { - monitor.wait(); - } else { - intrusive_ptr<TimerTask> t = tasks.top(); - tasks.pop(); - { - ScopedLock<Mutex> l(t->cancelLock); - if (t->isCancelled()) { - continue; - } else if(t->time < AbsTime::now()) { - Monitor::ScopedUnlock u(monitor); - t->fire(); - continue; - } else { - // If the timer was adjusted into the future it might no longer - // be the next event, so push and then get top to make sure - tasks.push(t); - } - } - monitor.wait(tasks.top()->time); - } - } -} - -void Timer::add(intrusive_ptr<TimerTask> task) -{ - Monitor::ScopedLock l(monitor); - tasks.push(task); - monitor.notify(); -} - -void Timer::start() -{ - Monitor::ScopedLock l(monitor); - if (!active) { - active = true; - runner = Thread(this); - } -} - -void Timer::stop() -{ - { - Monitor::ScopedLock l(monitor); - if (!active) return; - active = false; - monitor.notifyAll(); - } - runner.join(); -} - -bool Later::operator()(const intrusive_ptr<TimerTask>& a, - const intrusive_ptr<TimerTask>& b) const -{ - return a.get() && b.get() && a->time > b->time; -} - diff --git a/cpp/src/qpid/broker/Timer.h b/cpp/src/qpid/broker/Timer.h deleted file mode 100644 index 223f87eab6..0000000000 --- a/cpp/src/qpid/broker/Timer.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ -#ifndef _Timer_ -#define _Timer_ - -#include "qpid/broker/BrokerImportExport.h" -#include "qpid/sys/Monitor.h" -#include "qpid/sys/Thread.h" -#include "qpid/sys/Runnable.h" -#include "qpid/RefCounted.h" - -#include <memory> -#include <queue> - -#include <boost/intrusive_ptr.hpp> - -namespace qpid { -namespace broker { - -class Timer; - -struct TimerTask : public RefCounted { - friend class Timer; - - const qpid::sys::Duration duration; - qpid::sys::AbsTime time; - volatile bool cancelled; - qpid::sys::Mutex cancelLock; - - QPID_BROKER_EXTERN TimerTask(qpid::sys::Duration timeout); - TimerTask(qpid::sys::AbsTime time); - QPID_BROKER_EXTERN virtual ~TimerTask(); - void reset(); - void cancel(); - bool isCancelled() const; - virtual void fire() = 0; -}; - -struct Later { - bool operator()(const boost::intrusive_ptr<TimerTask>& a, - const boost::intrusive_ptr<TimerTask>& b) const; -}; - -class Timer : private qpid::sys::Runnable { - protected: - qpid::sys::Monitor monitor; - std::priority_queue<boost::intrusive_ptr<TimerTask>, - std::vector<boost::intrusive_ptr<TimerTask> >, - Later> tasks; - qpid::sys::Thread runner; - bool active; - - virtual void run(); - - public: - QPID_BROKER_EXTERN Timer(); - QPID_BROKER_EXTERN virtual ~Timer(); - - QPID_BROKER_EXTERN void add(boost::intrusive_ptr<TimerTask> task); - void start(); - void stop(); - -}; - - -}} - - -#endif diff --git a/cpp/src/qpid/sys/Timer.cpp b/cpp/src/qpid/sys/Timer.cpp index 67e0e688bb..d569fb3bb7 100644 --- a/cpp/src/qpid/sys/Timer.cpp +++ b/cpp/src/qpid/sys/Timer.cpp @@ -67,13 +67,11 @@ void TimerTask::setupNextFire() { // Only allow tasks to be delayed void TimerTask::restart() { nextFireTime = max(nextFireTime, AbsTime(AbsTime::now(), period)); } -void TimerTask::delayTill(AbsTime time) { period = 0; nextFireTime = max(nextFireTime, time); } void TimerTask::cancel() { ScopedLock<Mutex> l(callbackLock); cancelled = true; } -bool TimerTask::isCancelled() const { return cancelled; } Timer::Timer() : active(false) diff --git a/cpp/src/qpid/sys/Timer.h b/cpp/src/qpid/sys/Timer.h index fc7491d5ed..5748503841 100644 --- a/cpp/src/qpid/sys/Timer.h +++ b/cpp/src/qpid/sys/Timer.h @@ -58,9 +58,7 @@ public: QPID_COMMON_EXTERN void setupNextFire(); QPID_COMMON_EXTERN void restart(); - QPID_COMMON_EXTERN void delayTill(AbsTime fireTime); QPID_COMMON_EXTERN void cancel(); - QPID_COMMON_EXTERN bool isCancelled() const; protected: // Must be overridden with callback diff --git a/cpp/src/tests/TimerTest.cpp b/cpp/src/tests/TimerTest.cpp index f8ab9fb2f3..2642c980ba 100644 --- a/cpp/src/tests/TimerTest.cpp +++ b/cpp/src/tests/TimerTest.cpp @@ -19,7 +19,7 @@ * under the License. * */ -#include "qpid/broker/Timer.h" +#include "qpid/sys/Timer.h" #include "qpid/sys/Monitor.h" #include "unit_test.h" #include <math.h> @@ -28,7 +28,6 @@ #include <boost/format.hpp> #include <boost/lexical_cast.hpp> -using namespace qpid::broker; using namespace qpid::sys; using boost::intrusive_ptr; using boost::dynamic_pointer_cast; |