diff options
author | Gordon Sim <gsim@apache.org> | 2006-09-29 07:54:00 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2006-09-29 07:54:00 +0000 |
commit | 3fedfb514c3d2ce6b9cb02a30465b6bfd3a37cf2 (patch) | |
tree | 720fad3e08e8e4054acc9654a3d8642c3a129910 /cpp | |
parent | e89f51052aa822f167e229762d841570ec5fca3b (diff) | |
download | qpid-python-3fedfb514c3d2ce6b9cb02a30465b6bfd3a37cf2.tar.gz |
Cleanup of unused classes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@451150 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/common/io/inc/APRIOProcessor.h | 86 | ||||
-rw-r--r-- | cpp/common/io/inc/IOSession.h | 45 | ||||
-rw-r--r-- | cpp/common/io/inc/LFProcessor.h | 1 | ||||
-rw-r--r-- | cpp/common/io/inc/LFSessionContext.h | 7 | ||||
-rw-r--r-- | cpp/common/io/src/APRIOProcessor.cpp | 100 |
5 files changed, 3 insertions, 236 deletions
diff --git a/cpp/common/io/inc/APRIOProcessor.h b/cpp/common/io/inc/APRIOProcessor.h deleted file mode 100644 index de0d67a9c4..0000000000 --- a/cpp/common/io/inc/APRIOProcessor.h +++ /dev/null @@ -1,86 +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. - * - */ -#ifndef _APRIOProcessor_ -#define _APRIOProcessor_ - -#include "apr_poll.h" -#include <queue> -#include <iostream> -#include "APRMonitor.h" -#include "APRThread.h" -#include "IOSession.h" -#include "Runnable.h" - -namespace qpid { -namespace io { - - /** - * Manages non-blocking io through the APR polling - * routines. Interacts with the actual io tasks to be performed - * through the IOSession interface, an implementing instance of - * which must be set as the client_data of the apr_pollfd_t - * structures registered. - */ - class APRIOProcessor : private virtual qpid::concurrent::Runnable - { - const int size; - const apr_interval_time_t timeout; - apr_pollset_t* pollset; - int count; - qpid::concurrent::APRThread thread; - qpid::concurrent::APRMonitor lock; - volatile bool stopped; - - void poll(); - virtual void run(); - - public: - APRIOProcessor(apr_pool_t* pool, int size, int timeout); - /** - * Add the fd to the poll set. Relies on the client_data being - * an instance implementing IOSession, through which the write - * and read operations will be performed when readiness is - * indicated by the poll response. - */ - void add(apr_pollfd_t* const fd); - /** - * Remove the fd from the poll set. - */ - void remove(apr_pollfd_t* const fd); - /** - * Indicates whether the capacity of this processor has been - * reached (or whether it can still handle further fd's). - */ - bool full(); - /** - * Indicates whether there are any fd's registered. - */ - bool empty(); - /** - * Stop processing. - */ - void stop(); - - ~APRIOProcessor(); - }; - -} -} - - -#endif diff --git a/cpp/common/io/inc/IOSession.h b/cpp/common/io/inc/IOSession.h deleted file mode 100644 index 45e84d29b1..0000000000 --- a/cpp/common/io/inc/IOSession.h +++ /dev/null @@ -1,45 +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. - * - */ -#ifndef _IOSession_ -#define _IOSession_ - -namespace qpid { -namespace io { - - class IOSession - { - public: - virtual void read() = 0; - virtual void write() = 0; - virtual ~IOSession(){} - }; - - - class IOSessionHolder - { - IOSession* session; - public: - IOSessionHolder(IOSession* _session) : session(_session) {} - void read(){ session->read(); } - void write(){ session->write(); } - }; -} -} - - -#endif diff --git a/cpp/common/io/inc/LFProcessor.h b/cpp/common/io/inc/LFProcessor.h index 7d99d51943..8cfbd237a3 100644 --- a/cpp/common/io/inc/LFProcessor.h +++ b/cpp/common/io/inc/LFProcessor.h @@ -23,7 +23,6 @@ #include <vector> #include "APRMonitor.h" #include "APRThreadFactory.h" -#include "IOSession.h" #include "Runnable.h" namespace qpid { diff --git a/cpp/common/io/inc/LFSessionContext.h b/cpp/common/io/inc/LFSessionContext.h index ef6a0d07b0..d07c8910d3 100644 --- a/cpp/common/io/inc/LFSessionContext.h +++ b/cpp/common/io/inc/LFSessionContext.h @@ -28,7 +28,6 @@ #include "APRMonitor.h" #include "APRSocket.h" #include "Buffer.h" -#include "IOSession.h" #include "LFProcessor.h" #include "SessionContext.h" #include "SessionHandler.h" @@ -37,7 +36,7 @@ namespace qpid { namespace io { - class LFSessionContext : public virtual SessionContext, public virtual IOSession + class LFSessionContext : public virtual SessionContext { const bool debug; APRSocket socket; @@ -71,8 +70,8 @@ namespace io { ~LFSessionContext(); virtual void send(qpid::framing::AMQFrame* frame); virtual void close(); - virtual void read(); - virtual void write(); + void read(); + void write(); void init(SessionHandler* handler); void startProcessing(); void stopProcessing(); diff --git a/cpp/common/io/src/APRIOProcessor.cpp b/cpp/common/io/src/APRIOProcessor.cpp deleted file mode 100644 index d630f2f315..0000000000 --- a/cpp/common/io/src/APRIOProcessor.cpp +++ /dev/null @@ -1,100 +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 "APRIOProcessor.h" -#include "APRBase.h" -#include "QpidError.h" - -using namespace qpid::io; -using namespace qpid::concurrent; - -APRIOProcessor::APRIOProcessor(apr_pool_t* pool, int _size, int _timeout) : size(_size), - timeout(_timeout), - count(0), - thread(pool, this), - stopped(false){ - - CHECK_APR_SUCCESS(apr_pollset_create(&pollset, size, pool, APR_POLLSET_THREADSAFE)); - thread.start(); -} - -void APRIOProcessor::add(apr_pollfd_t* const fd){ - CHECK_APR_SUCCESS(apr_pollset_add(pollset, fd)); - lock.acquire(); - if(!count++) lock.notify(); - lock.release(); -} - -void APRIOProcessor::remove(apr_pollfd_t* const fd){ - CHECK_APR_SUCCESS(apr_pollset_remove(pollset, fd)); - lock.acquire(); - count--; - lock.release(); -} - -bool APRIOProcessor::full(){ - lock.acquire(); - bool full = count == size; - lock.release(); - return full; -} - -bool APRIOProcessor::empty(){ - lock.acquire(); - bool empty = count == 0; - lock.release(); - return empty; -} - -void APRIOProcessor::poll(){ - try{ - int signalledCount; - const apr_pollfd_t* signalledFDs; - apr_status_t status = apr_pollset_poll(pollset, timeout, &signalledCount, &signalledFDs); - if(status == APR_SUCCESS){ - for(int i = 0; i < signalledCount; i++){ - IOSessionHolder* session = reinterpret_cast<IOSessionHolder*>(signalledFDs[i].client_data); - if(signalledFDs[i].rtnevents & APR_POLLIN) session->read(); - if(signalledFDs[i].rtnevents & APR_POLLOUT) session->write(); - } - } - }catch(qpid::QpidError error){ - std::cout << "Error [" << error.code << "] " << error.msg << " (" << error.file << ":" << error.line << ")" << std::endl; - } - -} - -void APRIOProcessor::run(){ - while(!stopped){ - lock.acquire(); - while(count == 0) lock.wait(); - lock.release(); - poll(); - } -} - -void APRIOProcessor::stop(){ - lock.acquire(); - stopped = true; - lock.notify(); - lock.release(); -} - -APRIOProcessor::~APRIOProcessor(){ - CHECK_APR_SUCCESS(apr_pollset_destroy(pollset)); -} - |