diff options
author | Alan Conway <aconway@apache.org> | 2009-10-26 20:11:08 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2009-10-26 20:11:08 +0000 |
commit | b6eb88609aea82e676f33ae8ff68918b68b81d33 (patch) | |
tree | 7180c10a249f84f635459086ffab7fe93ece3e01 /cpp/include/qpid/client/FailoverManager.h | |
parent | f5c7bf95dd04dc1cf0248511982a18a45847da14 (diff) | |
download | qpid-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/include/qpid/client/FailoverManager.h')
-rw-r--r-- | cpp/include/qpid/client/FailoverManager.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/cpp/include/qpid/client/FailoverManager.h b/cpp/include/qpid/client/FailoverManager.h index d50fcff8bb..0d30e2ed60 100644 --- a/cpp/include/qpid/client/FailoverManager.h +++ b/cpp/include/qpid/client/FailoverManager.h @@ -22,12 +22,13 @@ * */ -#include "qpid/client/Connection.h" -#include "qpid/client/ConnectionSettings.h" #include "qpid/Exception.h" #include "qpid/client/AsyncSession.h" -#include "qpid/sys/Monitor.h" #include "qpid/client/ClientImportExport.h" +#include "qpid/client/Connection.h" +#include "qpid/client/ConnectionSettings.h" +#include "qpid/client/FailoverListener.h" +#include "qpid/sys/Monitor.h" #include <vector> namespace qpid { @@ -123,6 +124,7 @@ class FailoverManager qpid::sys::Monitor lock; Connection connection; + std::auto_ptr<FailoverListener> failoverListener; ConnectionSettings settings; ReconnectionStrategy* strategy; State state; |