diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2012-07-16 06:48:11 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2012-07-16 06:48:11 +0000 |
commit | 574ccee478b9da9457cdf0e476b8df6eb584b580 (patch) | |
tree | 5a8166f47057ed322294db7816e2732d1d18f7bc /sca-cpp/trunk/components/queue | |
parent | 419f903ff44a22debba43976baae1e86c1e5d871 (diff) |
Minor memory management, performance, and tracing improvements.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1361917 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk/components/queue')
-rw-r--r-- | sca-cpp/trunk/components/queue/qpid.hpp | 9 | ||||
-rw-r--r-- | sca-cpp/trunk/components/queue/queue-listener.cpp | 4 | ||||
-rw-r--r-- | sca-cpp/trunk/components/queue/queue-sender.cpp | 2 |
3 files changed, 12 insertions, 3 deletions
diff --git a/sca-cpp/trunk/components/queue/qpid.hpp b/sca-cpp/trunk/components/queue/qpid.hpp index 63f27d2519..ef53c529e8 100644 --- a/sca-cpp/trunk/components/queue/qpid.hpp +++ b/sca-cpp/trunk/components/queue/qpid.hpp @@ -65,6 +65,15 @@ public: debug("queue::qpidonnection::copy"); } + const QpidConnection& operator=(const QpidConnection& qc) { + debug("queue::qpidonnection::operator="); + if(this == &c) + return *this; + owner = false; + c = qc.c; + return *this; + } + ~QpidConnection() { debug("queue::~qpidonnection"); if (!owner) diff --git a/sca-cpp/trunk/components/queue/queue-listener.cpp b/sca-cpp/trunk/components/queue/queue-listener.cpp index 3c30e7feca..483d0de65a 100644 --- a/sca-cpp/trunk/components/queue/queue-listener.cpp +++ b/sca-cpp/trunk/components/queue/queue-listener.cpp @@ -123,9 +123,9 @@ private: const failable<value> start(const list<value>& params) { // Extract the relay reference and the AMQP key and queue name const value rel = car(params); - const value pk = ((lambda<value(list<value>)>)cadr(params))(list<value>()); + const value pk = ((lambda<value(const list<value>&)>)cadr(params))(list<value>()); const value key = isList(pk)? (list<value>)pk : mklist<value>(pk); - const value qname = ((lambda<value(list<value>)>)caddr(params))(list<value>()); + const value qname = ((lambda<value(const list<value>&)>)caddr(params))(list<value>()); // Create an AMQP session QpidConnection qc(false); diff --git a/sca-cpp/trunk/components/queue/queue-sender.cpp b/sca-cpp/trunk/components/queue/queue-sender.cpp index ff2ede1057..202a0e4435 100644 --- a/sca-cpp/trunk/components/queue/queue-sender.cpp +++ b/sca-cpp/trunk/components/queue/queue-sender.cpp @@ -48,7 +48,7 @@ const failable<value> post(const list<value>& params) { QpidSession qs(qc); // Post the item - const value pk = ((lambda<value(list<value>)>)caddr(params))(list<value>()); + const value pk = ((lambda<value(const list<value>&)>)caddr(params))(list<value>()); const value key = isList(pk)? append<value>(pk, (list<value>)car(params)) : cons<value>(pk, (list<value>)car(params)); debug(key, "queue::post::key"); debug(cadr(params), "queue::post::value"); |