summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/ConnectionImpl.h
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2009-10-26 20:11:08 +0000
committerAlan Conway <aconway@apache.org>2009-10-26 20:11:08 +0000
commitb6eb88609aea82e676f33ae8ff68918b68b81d33 (patch)
tree7180c10a249f84f635459086ffab7fe93ece3e01 /cpp/src/qpid/client/ConnectionImpl.h
parentf5c7bf95dd04dc1cf0248511982a18a45847da14 (diff)
downloadqpid-python-b6eb88609aea82e676f33ae8ff68918b68b81d33.tar.gz
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
Diffstat (limited to 'cpp/src/qpid/client/ConnectionImpl.h')
-rw-r--r--cpp/src/qpid/client/ConnectionImpl.h5
1 files changed, 1 insertions, 4 deletions
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> connector;
- boost::scoped_ptr<FailoverListener> 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<Url> getKnownBrokers();
+ std::vector<Url> getInitialBrokers();
void registerFailureCallback ( boost::function<void ()> fn ) { failureCallback = fn; }
- void stopFailoverListener();
framing::ProtocolVersion getVersion() { return version; }
};