summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/LocatorInfo.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-11-16 15:52:28 +0100
committerBenoit Foucher <benoit@zeroc.com>2012-11-16 15:52:28 +0100
commit44bd0c07505a6841f4315eedcab0a228a6819852 (patch)
tree7e5d08f5beb7941ea68f8659217efd2379e8acc4 /cpp/src/Ice/LocatorInfo.cpp
parentMore changes to windows installers (diff)
downloadice-44bd0c07505a6841f4315eedcab0a228a6819852.tar.bz2
ice-44bd0c07505a6841f4315eedcab0a228a6819852.tar.xz
ice-44bd0c07505a6841f4315eedcab0a228a6819852.zip
Added support for proxy-options to IceGrid adapter, replica group and object descriptors
Diffstat (limited to 'cpp/src/Ice/LocatorInfo.cpp')
-rw-r--r--cpp/src/Ice/LocatorInfo.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/cpp/src/Ice/LocatorInfo.cpp b/cpp/src/Ice/LocatorInfo.cpp
index 0acf9db3f90..315bfdc33c6 100644
--- a/cpp/src/Ice/LocatorInfo.cpp
+++ b/cpp/src/Ice/LocatorInfo.cpp
@@ -321,7 +321,15 @@ IceInternal::LocatorInfo::RequestCallback::response(const LocatorInfoPtr& locato
if(proxy)
{
ReferencePtr r = proxy->__reference();
- if(!r->isIndirect())
+ if(_ref->isWellKnown() && !isSupported(_ref->getEncoding(), r->getEncoding()))
+ {
+ //
+ // If a well-known proxy and the returned proxy encoding isn't
+ // supported, we're done: there are no compatible endpoints
+ // we can use.
+ //
+ }
+ else if(!r->isIndirect())
{
endpoints = r->getEndpoints();
}
@@ -759,8 +767,7 @@ IceInternal::LocatorInfo::getEndpointsException(const ReferencePtr& ref, const I
{
if(ref->getInstance()->traceLevels()->location >= 1)
{
- Trace out(ref->getInstance()->initializationData().logger,
- ref->getInstance()->traceLevels()->locationCat);
+ Trace out(ref->getInstance()->initializationData().logger, ref->getInstance()->traceLevels()->locationCat);
out << "couldn't contact the locator to retrieve adapter endpoints\n";
if(ref->getAdapterId().empty())
{