diff options
| author | Robert Greig <rgreig@apache.org> | 2006-10-20 21:21:29 +0000 |
|---|---|---|
| committer | Robert Greig <rgreig@apache.org> | 2006-10-20 21:21:29 +0000 |
| commit | 53da5dbacf15a717760552de283519babd7e4736 (patch) | |
| tree | 3c3e45125a5ad9be256001583eab1c490badfb2b /cpp/src | |
| parent | a136ea713f4d365115f6840cb1748aea025da972 (diff) | |
| download | qpid-python-53da5dbacf15a717760552de283519babd7e4736.tar.gz | |
Merge from trunk up to revision 466241
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/new_persistence@466268 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
| -rw-r--r-- | cpp/src/qpid/broker/HeadersExchange.cpp | 2 | ||||
| -rw-r--r-- | cpp/src/qpid/broker/SessionHandlerImpl.cpp | 9 | ||||
| -rw-r--r-- | cpp/src/qpid/broker/SessionHandlerImpl.h | 20 | ||||
| -rw-r--r-- | cpp/src/qpid/client/Channel.cpp | 4 | ||||
| -rw-r--r-- | cpp/src/qpid/concurrent/APRThread.cpp | 6 | ||||
| -rw-r--r-- | cpp/src/qpid/concurrent/APRThread.h | 2 | ||||
| -rw-r--r-- | cpp/src/qpid/framing/AMQHeaderBody.cpp | 4 | ||||
| -rw-r--r-- | cpp/src/qpid/io/APRSocket.cpp | 4 | ||||
| -rw-r--r-- | cpp/src/qpid/io/BlockingAPRSessionContext.cpp | 3 | ||||
| -rw-r--r-- | cpp/src/qpidd.cpp | 2 |
10 files changed, 19 insertions, 37 deletions
diff --git a/cpp/src/qpid/broker/HeadersExchange.cpp b/cpp/src/qpid/broker/HeadersExchange.cpp index 12827da26b..96365e2130 100644 --- a/cpp/src/qpid/broker/HeadersExchange.cpp +++ b/cpp/src/qpid/broker/HeadersExchange.cpp @@ -41,7 +41,6 @@ namespace { HeadersExchange::HeadersExchange(const string& _name) : Exchange(_name) { } void HeadersExchange::bind(Queue::shared_ptr queue, const string& routingKey, FieldTable* args){ - std::cout << "HeadersExchange::bind" << std::endl; Locker locker(lock); std::string what = args->getString("x-match"); if (what != all && what != any) { @@ -60,7 +59,6 @@ void HeadersExchange::unbind(Queue::shared_ptr queue, const string& /*routingKey void HeadersExchange::route(Message::shared_ptr& msg, const string& /*routingKey*/, FieldTable* args){ - std::cout << "route: " << *args << std::endl; Locker locker(lock);; for (Bindings::iterator i = bindings.begin(); i != bindings.end(); ++i) { if (match(i->first, *args)) i->second->deliver(msg); diff --git a/cpp/src/qpid/broker/SessionHandlerImpl.cpp b/cpp/src/qpid/broker/SessionHandlerImpl.cpp index 157fca5acb..0713b84164 100644 --- a/cpp/src/qpid/broker/SessionHandlerImpl.cpp +++ b/cpp/src/qpid/broker/SessionHandlerImpl.cpp @@ -48,14 +48,7 @@ SessionHandlerImpl::SessionHandlerImpl(SessionContext* _context, framemax(65536), heartbeat(0) {} -SessionHandlerImpl::~SessionHandlerImpl(){ - // TODO aconway 2006-09-07: Should be auto_ptr or plain members. - delete channelHandler; - delete connectionHandler; - delete basicHandler; - delete exchangeHandler; - delete queueHandler; -} +SessionHandlerImpl::~SessionHandlerImpl(){} Channel* SessionHandlerImpl::getChannel(u_int16_t channel){ channel_iterator i = channels.find(channel); diff --git a/cpp/src/qpid/broker/SessionHandlerImpl.h b/cpp/src/qpid/broker/SessionHandlerImpl.h index 4504541623..afaae74d97 100644 --- a/cpp/src/qpid/broker/SessionHandlerImpl.h +++ b/cpp/src/qpid/broker/SessionHandlerImpl.h @@ -71,11 +71,11 @@ class SessionHandlerImpl : public virtual qpid::io::SessionHandler, AutoDelete* const cleaner; const u_int32_t timeout;//timeout for auto-deleted queues (in ms) - ConnectionHandler* connectionHandler; - ChannelHandler* channelHandler; - BasicHandler* basicHandler; - ExchangeHandler* exchangeHandler; - QueueHandler* queueHandler; + std::auto_ptr<ConnectionHandler> connectionHandler; + std::auto_ptr<ChannelHandler> channelHandler; + std::auto_ptr<BasicHandler> basicHandler; + std::auto_ptr<ExchangeHandler> exchangeHandler; + std::auto_ptr<QueueHandler> queueHandler; std::map<u_int16_t, Channel*> channels; std::vector<Queue::shared_ptr> exclusiveQueues; @@ -212,11 +212,11 @@ class SessionHandlerImpl : public virtual qpid::io::SessionHandler, virtual ~BasicHandlerImpl(){} }; - inline virtual ChannelHandler* getChannelHandler(){ return channelHandler; } - inline virtual ConnectionHandler* getConnectionHandler(){ return connectionHandler; } - inline virtual BasicHandler* getBasicHandler(){ return basicHandler; } - inline virtual ExchangeHandler* getExchangeHandler(){ return exchangeHandler; } - inline virtual QueueHandler* getQueueHandler(){ return queueHandler; } + inline virtual ChannelHandler* getChannelHandler(){ return channelHandler.get(); } + inline virtual ConnectionHandler* getConnectionHandler(){ return connectionHandler.get(); } + inline virtual BasicHandler* getBasicHandler(){ return basicHandler.get(); } + inline virtual ExchangeHandler* getExchangeHandler(){ return exchangeHandler.get(); } + inline virtual QueueHandler* getQueueHandler(){ return queueHandler.get(); } inline virtual AccessHandler* getAccessHandler(){ return 0; } inline virtual FileHandler* getFileHandler(){ return 0; } diff --git a/cpp/src/qpid/client/Channel.cpp b/cpp/src/qpid/client/Channel.cpp index 0563dbaaba..99e827488c 100644 --- a/cpp/src/qpid/client/Channel.cpp +++ b/cpp/src/qpid/client/Channel.cpp @@ -119,9 +119,7 @@ void Channel::deleteQueue(Queue& queue, bool ifunused, bool ifempty, bool synch) void Channel::bind(const Exchange& exchange, const Queue& queue, const std::string& key, const FieldTable& args, bool synch){ string e = exchange.getName(); string q = queue.getName(); - // TODO aconway 2006-10-10: not const correct, get rid of const_cast. - // - AMQFrame* frame = new AMQFrame(id, new QueueBindBody(0, q, e, key,!synch, const_cast<FieldTable&>(args))); + AMQFrame* frame = new AMQFrame(id, new QueueBindBody(0, q, e, key,!synch, args)); if(synch){ sendAndReceive(frame, queue_bind_ok); }else{ diff --git a/cpp/src/qpid/concurrent/APRThread.cpp b/cpp/src/qpid/concurrent/APRThread.cpp index f1bfa6c7da..d4d073cac6 100644 --- a/cpp/src/qpid/concurrent/APRThread.cpp +++ b/cpp/src/qpid/concurrent/APRThread.cpp @@ -27,7 +27,7 @@ void* APR_THREAD_FUNC ExecRunnable(apr_thread_t* thread, void *data){ return NULL; } -APRThread::APRThread(apr_pool_t* _pool, Runnable* _runnable) : runnable(_runnable), pool(_pool) {} +APRThread::APRThread(apr_pool_t* _pool, Runnable* _runnable) : runnable(_runnable), pool(_pool), runner(0) {} APRThread::~APRThread(){ } @@ -38,11 +38,11 @@ void APRThread::start(){ void APRThread::join(){ apr_status_t status; - CHECK_APR_SUCCESS(apr_thread_join(&status, runner)); + if (runner) CHECK_APR_SUCCESS(apr_thread_join(&status, runner)); } void APRThread::interrupt(){ - CHECK_APR_SUCCESS(apr_thread_exit(runner, APR_SUCCESS)); + if (runner) CHECK_APR_SUCCESS(apr_thread_exit(runner, APR_SUCCESS)); } unsigned int qpid::concurrent::APRThread::currentThread(){ diff --git a/cpp/src/qpid/concurrent/APRThread.h b/cpp/src/qpid/concurrent/APRThread.h index 6d3fc0a285..6328765a06 100644 --- a/cpp/src/qpid/concurrent/APRThread.h +++ b/cpp/src/qpid/concurrent/APRThread.h @@ -26,7 +26,7 @@ namespace qpid { namespace concurrent { - class APRThread : public virtual Thread + class APRThread : public Thread { const Runnable* runnable; apr_pool_t* pool; diff --git a/cpp/src/qpid/framing/AMQHeaderBody.cpp b/cpp/src/qpid/framing/AMQHeaderBody.cpp index eb360d8bc8..6bb24e67c7 100644 --- a/cpp/src/qpid/framing/AMQHeaderBody.cpp +++ b/cpp/src/qpid/framing/AMQHeaderBody.cpp @@ -63,11 +63,7 @@ void qpid::framing::AMQHeaderBody::print(std::ostream& out) const { out << "header, content_size=" << getContentSize() << " (" << size() << " bytes)" << ", headers=" ; - // TODO aconway 2006-09-26: Hack to see headers. - // Should write proper op << for BasicHeaderProperties. - // const BasicHeaderProperties* props = dynamic_cast<const BasicHeaderProperties*>(getProperties()); - // TODO aconway 2006-09-26: Lose the static cast, fix BasicHeaderProperties if (props) out << const_cast<BasicHeaderProperties*>(props)->getHeaders(); } diff --git a/cpp/src/qpid/io/APRSocket.cpp b/cpp/src/qpid/io/APRSocket.cpp index c142b04df3..824c376c3b 100644 --- a/cpp/src/qpid/io/APRSocket.cpp +++ b/cpp/src/qpid/io/APRSocket.cpp @@ -44,9 +44,7 @@ void APRSocket::write(qpid::framing::Buffer& buffer){ apr_size_t bytes; do{ bytes = buffer.available(); - apr_status_t s = apr_socket_send(socket, buffer.start(), &bytes); - // TODO aconway 2006-10-05: better error handling - assert(s == 0); + apr_socket_send(socket, buffer.start(), &bytes); buffer.move(bytes); }while(bytes > 0); } diff --git a/cpp/src/qpid/io/BlockingAPRSessionContext.cpp b/cpp/src/qpid/io/BlockingAPRSessionContext.cpp index aee223ca3b..88e6b6b0fc 100644 --- a/cpp/src/qpid/io/BlockingAPRSessionContext.cpp +++ b/cpp/src/qpid/io/BlockingAPRSessionContext.cpp @@ -122,8 +122,7 @@ void BlockingAPRSessionContext::write(){ int written = 0; apr_size_t bytes = available; while(available > written){ - apr_status_t s = apr_socket_send(socket, data + written, &bytes); - assert(s == 0); // TODO aconway 2006-10-05: Error Handling. + apr_socket_send(socket, data + written, &bytes); written += bytes; bytes = available - written; } diff --git a/cpp/src/qpidd.cpp b/cpp/src/qpidd.cpp index 293380d46d..e93676513a 100644 --- a/cpp/src/qpidd.cpp +++ b/cpp/src/qpidd.cpp @@ -41,7 +41,7 @@ int main(int argc, char** argv) broker->run(); } return 0; - } catch(std::exception e) { + } catch(const std::exception& e) { std::cout << e.what() << std::endl; } return 1; |
