summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/LocatorInfo.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-11-13 10:17:27 +0100
committerBenoit Foucher <benoit@zeroc.com>2012-11-13 10:17:27 +0100
commit99b44d083eeee5583adfe642081a827224fa1309 (patch)
tree46bb3af634cbd5d90b9e5d46099f4e0e85f70ec6 /cpp/src/Ice/LocatorInfo.h
parentCosmetic updates to IceGrid Admin connection wizard (diff)
downloadice-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.h11
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)