diff options
author | Benoit Foucher <benoit@zeroc.com> | 2012-11-13 10:17:27 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2012-11-13 10:17:27 +0100 |
commit | 99b44d083eeee5583adfe642081a827224fa1309 (patch) | |
tree | 46bb3af634cbd5d90b9e5d46099f4e0e85f70ec6 /cpp/src/Ice/LocatorInfo.h | |
parent | Cosmetic updates to IceGrid Admin connection wizard (diff) | |
download | ice-99b44d083eeee5583adfe642081a827224fa1309.tar.bz2 ice-99b44d083eeee5583adfe642081a827224fa1309.tar.xz ice-99b44d083eeee5583adfe642081a827224fa1309.zip |
Fixed ICE-4927: fixed proxy encoding to marshal protocol/encoding version instead of encoding it in endpoints
Diffstat (limited to 'cpp/src/Ice/LocatorInfo.h')
-rw-r--r-- | cpp/src/Ice/LocatorInfo.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/cpp/src/Ice/LocatorInfo.h b/cpp/src/Ice/LocatorInfo.h index 9a863107e38..15d4ad3075a 100644 --- a/cpp/src/Ice/LocatorInfo.h +++ b/cpp/src/Ice/LocatorInfo.h @@ -20,6 +20,7 @@ #include <Ice/Identity.h> #include <Ice/EndpointIF.h> #include <Ice/PropertiesF.h> +#include <Ice/Version.h> #include <IceUtil/UniquePtr.h> @@ -47,7 +48,7 @@ private: std::map<Ice::LocatorPrx, LocatorInfoPtr> _table; std::map<Ice::LocatorPrx, LocatorInfoPtr>::iterator _tableHint; - std::map<Ice::Identity, LocatorTablePtr> _locatorTables; + std::map<std::pair<Ice::Identity, Ice::EncodingVersion>, LocatorTablePtr> _locatorTables; }; class LocatorTable : public IceUtil::Shared, public IceUtil::Mutex @@ -143,7 +144,13 @@ public: bool operator!=(const LocatorInfo&) const; bool operator<(const LocatorInfo&) const; - Ice::LocatorPrx getLocator() const; + const Ice::LocatorPrx& getLocator() const + { + // + // No mutex lock necessary, _locator is immutable. + // + return _locator; + } Ice::LocatorRegistryPrx getLocatorRegistry(); std::vector<EndpointIPtr> getEndpoints(const ReferencePtr& ref, int ttl, bool& cached) |