From b6eb88609aea82e676f33ae8ff68918b68b81d33 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Mon, 26 Oct 2009 20:11:08 +0000 Subject: Separate FailoverListener from client::Connection. client::ConnectionImpl used to contain a FailoverListener to subscribe for updates on the amq.failover exchange. This caused some lifecycle issues including memory leaks. Now FailoverListener is a public API class that the user must create associated with a session to get known-broker updates. Removed the weak_ptr logic in client::SessionImpl which was only required because of FailoverListener. Made SessionImpl::close() idempotent. Gets rid of spurious warning messages in some tests. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@829931 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/client/ConnectionImpl.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'cpp/src/qpid/client/ConnectionImpl.h') diff --git a/cpp/src/qpid/client/ConnectionImpl.h b/cpp/src/qpid/client/ConnectionImpl.h index 8c82b6a3fe..2b32e1ccf0 100644 --- a/cpp/src/qpid/client/ConnectionImpl.h +++ b/cpp/src/qpid/client/ConnectionImpl.h @@ -42,7 +42,6 @@ namespace client { class Connector; struct ConnectionSettings; class SessionImpl; -class FailoverListener; class ConnectionImpl : public Bounds, public framing::FrameHandler, @@ -58,7 +57,6 @@ class ConnectionImpl : public Bounds, SessionMap sessions; ConnectionHandler handler; boost::scoped_ptr connector; - boost::scoped_ptr failover; framing::ProtocolVersion version; uint16_t nextChannel; sys::Mutex lock; @@ -90,9 +88,8 @@ class ConnectionImpl : public Bounds, void erase(uint16_t channel); const ConnectionSettings& getNegotiatedSettings(); - std::vector getKnownBrokers(); + std::vector getInitialBrokers(); void registerFailureCallback ( boost::function fn ) { failureCallback = fn; } - void stopFailoverListener(); framing::ProtocolVersion getVersion() { return version; } }; -- cgit v1.2.1