summaryrefslogtreecommitdiff
path: root/cpp/common/io/src
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/common/io/src
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/common/io/src')
-rw-r--r--cpp/common/io/src/APRIOProcessor.cpp100
1 files changed, 0 insertions, 100 deletions
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));
-}
-