diff options
author | Gordon Sim <gsim@apache.org> | 2015-06-17 17:08:55 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2015-06-17 17:08:55 +0000 |
commit | 57b80ff868420d23f80d36a1a9eaf630bee48734 (patch) | |
tree | 13750bb1fe96d5915e3cc45f3a093ab84d3d6972 /qpid/cpp/src/qpid/messaging/ConnectionImpl.h | |
parent | b997784b3fc015206cf51c0ca11e9af66893b156 (diff) | |
download | qpid-python-57b80ff868420d23f80d36a1a9eaf630bee48734.tar.gz |
QPID-6256: Improved handling of protocol version incompatibilities
* 0-10 path no longer hans on open when connecting to a broker not
supporting that version
* the 'protocol' connection option now supports specifying multiple
protocols to try in order (as a coma separated list)
* the protocol defaults, i.e. the value assumed if the 'protocol'
connection option is not specified, can now be set via the client
config file (e.g. protocol-defaults=amqp1.0,amqp0-10) or an
environment variable (e.g QPID_PROTOCOL_DEFAULTS=amqp1.0,amqp0-10)
* if neither the connection option nor the defaults are specified
all valid versions will be tried (currently amqp0-10, then amqp1.0
but this may change in a future version)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1686078 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/qpid/messaging/ConnectionImpl.h')
-rw-r--r-- | qpid/cpp/src/qpid/messaging/ConnectionImpl.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/messaging/ConnectionImpl.h b/qpid/cpp/src/qpid/messaging/ConnectionImpl.h index 92c6d91b10..05d835b282 100644 --- a/qpid/cpp/src/qpid/messaging/ConnectionImpl.h +++ b/qpid/cpp/src/qpid/messaging/ConnectionImpl.h @@ -22,6 +22,7 @@ * */ #include <string> +#include <boost/function.hpp> #include "qpid/RefCounted.h" namespace qpid { @@ -32,6 +33,7 @@ class Variant; namespace messaging { +class ProtocolRegistry; class Session; class ConnectionImpl : public virtual qpid::RefCounted @@ -49,7 +51,10 @@ class ConnectionImpl : public virtual qpid::RefCounted virtual void reconnect() = 0; virtual std::string getUrl() const = 0; private: + friend class ProtocolRegistry; + boost::function<ConnectionImpl*()> next; }; + }} // namespace qpid::messaging #endif /*!QPID_MESSAGING_CONNECTIONIMPL_H*/ |