summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/LocatorInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/LocatorInfo.cpp')
-rw-r--r--cpp/src/Ice/LocatorInfo.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/cpp/src/Ice/LocatorInfo.cpp b/cpp/src/Ice/LocatorInfo.cpp
index ac693041b2e..0acf9db3f90 100644
--- a/cpp/src/Ice/LocatorInfo.cpp
+++ b/cpp/src/Ice/LocatorInfo.cpp
@@ -156,16 +156,17 @@ IceInternal::LocatorManager::get(const LocatorPrx& loc)
// have only one table per locator (not one per locator
// proxy).
//
- map<Identity, LocatorTablePtr>::iterator t = _locatorTables.find(locator->ice_getIdentity());
+ pair<Identity, EncodingVersion> locatorKey(locator->ice_getIdentity(), locator->ice_getEncodingVersion());
+ map<pair<Identity, EncodingVersion>, LocatorTablePtr>::iterator t = _locatorTables.find(locatorKey);
if(t == _locatorTables.end())
{
t = _locatorTables.insert(_locatorTables.begin(),
- pair<const Identity, LocatorTablePtr>(locator->ice_getIdentity(),
- new LocatorTable()));
+ pair<const pair<Identity, EncodingVersion>, LocatorTablePtr>(
+ locatorKey, new LocatorTable()));
}
- _tableHint = _table.insert(_tableHint,
- pair<const LocatorPrx, LocatorInfoPtr>(locator,
+ _tableHint = _table.insert(_tableHint,
+ pair<const LocatorPrx, LocatorInfoPtr>(locator,
new LocatorInfo(locator, t->second,
_background)));
}
@@ -536,15 +537,6 @@ IceInternal::LocatorInfo::operator<(const LocatorInfo& rhs) const
return _locator < rhs._locator;
}
-LocatorPrx
-IceInternal::LocatorInfo::getLocator() const
-{
- //
- // No mutex lock necessary, _locator is immutable.
- //
- return _locator;
-}
-
LocatorRegistryPrx
IceInternal::LocatorInfo::getLocatorRegistry()
{