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/common/io/src | |
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/common/io/src')
-rw-r--r-- | cpp/common/io/src/APRIOProcessor.cpp | 100 |
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)); -} - |