summaryrefslogtreecommitdiff
path: root/cpp/lib/broker/BrokerQueue.h
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-03-29 22:30:48 +0000
committerAlan Conway <aconway@apache.org>2007-03-29 22:30:48 +0000
commit1a23d52070195a9c8de98dd4af6e19f42051f1a5 (patch)
treea7515a61e0a46defc4ef84bea52424c38bdbba0c /cpp/lib/broker/BrokerQueue.h
parent45d083f70618d21ae9d138cf0c3d8e44c84f4f93 (diff)
downloadqpid-python-1a23d52070195a9c8de98dd4af6e19f42051f1a5.tar.gz
Fixed memory leak: removed Binding and ExchangeBinding.
These classes unbind a deleted queue from any Exchanges. But Exchanges hold shared_ptr<Queue>, so queues never deleted while the exchange exists. Moreover queue-binding form a shared_ptr cycle causing a leak. Raised QPID-438 for the remaining problem: destroyed queues are never unbound or deleted git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@523857 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/lib/broker/BrokerQueue.h')
-rw-r--r--cpp/lib/broker/BrokerQueue.h8
1 files changed, 0 insertions, 8 deletions
diff --git a/cpp/lib/broker/BrokerQueue.h b/cpp/lib/broker/BrokerQueue.h
index 12f5815027..45cf317037 100644
--- a/cpp/lib/broker/BrokerQueue.h
+++ b/cpp/lib/broker/BrokerQueue.h
@@ -26,7 +26,6 @@
#include <queue>
#include <boost/shared_ptr.hpp>
#include <amqp_types.h>
-#include <Binding.h>
#include <ConnectionToken.h>
#include <Consumer.h>
#include <BrokerMessage.h>
@@ -54,7 +53,6 @@ namespace qpid {
*/
class Queue{
typedef std::vector<Consumer*> Consumers;
- typedef std::queue<Binding*> Bindings;
typedef std::queue<Message::shared_ptr> Messages;
const string name;
@@ -62,7 +60,6 @@ namespace qpid {
MessageStore* const store;
const ConnectionToken* const owner;
Consumers consumers;
- Bindings bindings;
Messages messages;
bool queueing;
bool dispatching;
@@ -94,11 +91,6 @@ namespace qpid {
void configure(const qpid::framing::FieldTable& settings);
void destroy();
/**
- * Informs the queue of a binding that should be cancelled on
- * destruction of the queue.
- */
- void bound(Binding* b);
- /**
* Delivers a message to the queue. Will record it as
* enqueued if persistent then process it.
*/