summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorRobert Greig <rgreig@apache.org>2006-10-20 21:21:29 +0000
committerRobert Greig <rgreig@apache.org>2006-10-20 21:21:29 +0000
commit53da5dbacf15a717760552de283519babd7e4736 (patch)
tree3c3e45125a5ad9be256001583eab1c490badfb2b /cpp/src
parenta136ea713f4d365115f6840cb1748aea025da972 (diff)
downloadqpid-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.cpp2
-rw-r--r--cpp/src/qpid/broker/SessionHandlerImpl.cpp9
-rw-r--r--cpp/src/qpid/broker/SessionHandlerImpl.h20
-rw-r--r--cpp/src/qpid/client/Channel.cpp4
-rw-r--r--cpp/src/qpid/concurrent/APRThread.cpp6
-rw-r--r--cpp/src/qpid/concurrent/APRThread.h2
-rw-r--r--cpp/src/qpid/framing/AMQHeaderBody.cpp4
-rw-r--r--cpp/src/qpid/io/APRSocket.cpp4
-rw-r--r--cpp/src/qpid/io/BlockingAPRSessionContext.cpp3
-rw-r--r--cpp/src/qpidd.cpp2
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;