summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2006-09-29 07:54:00 +0000
committerGordon Sim <gsim@apache.org>2006-09-29 07:54:00 +0000
commit3fedfb514c3d2ce6b9cb02a30465b6bfd3a37cf2 (patch)
tree720fad3e08e8e4054acc9654a3d8642c3a129910 /cpp
parente89f51052aa822f167e229762d841570ec5fca3b (diff)
downloadqpid-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.h86
-rw-r--r--cpp/common/io/inc/IOSession.h45
-rw-r--r--cpp/common/io/inc/LFProcessor.h1
-rw-r--r--cpp/common/io/inc/LFSessionContext.h7
-rw-r--r--cpp/common/io/src/APRIOProcessor.cpp100
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));
-}
-