summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/RoutableReference.java
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2014-10-20 11:40:05 -0230
committerMatthew Newhook <matthew@zeroc.com>2014-10-20 11:40:05 -0230
commitb51469b41167fb86ae2059a15cf0475c53fdda7b (patch)
treefc85d6ca2efd89c67e1e4e7438f437c3e08313f4 /java/src/IceInternal/RoutableReference.java
parentFixed (ICE-5695) - IceSSL: misleading exception (diff)
downloadice-b51469b41167fb86ae2059a15cf0475c53fdda7b.tar.bz2
ice-b51469b41167fb86ae2059a15cf0475c53fdda7b.tar.xz
ice-b51469b41167fb86ae2059a15cf0475c53fdda7b.zip
Down with ant. From the gradle to the grave.
Diffstat (limited to 'java/src/IceInternal/RoutableReference.java')
-rw-r--r--java/src/IceInternal/RoutableReference.java961
1 files changed, 0 insertions, 961 deletions
diff --git a/java/src/IceInternal/RoutableReference.java b/java/src/IceInternal/RoutableReference.java
deleted file mode 100644
index 8e89f69cd15..00000000000
--- a/java/src/IceInternal/RoutableReference.java
+++ /dev/null
@@ -1,961 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-package IceInternal;
-
-public class RoutableReference extends Reference
-{
- @Override
- public final EndpointI[]
- getEndpoints()
- {
- return _endpoints;
- }
-
- @Override
- public final String
- getAdapterId()
- {
- return _adapterId;
- }
-
- @Override
- public final LocatorInfo
- getLocatorInfo()
- {
- return _locatorInfo;
- }
-
- @Override
- public final RouterInfo
- getRouterInfo()
- {
- return _routerInfo;
- }
-
- @Override
- public final boolean
- getCollocationOptimized()
- {
- return _collocationOptimized;
- }
-
- @Override
- public final boolean
- getCacheConnection()
- {
- return _cacheConnection;
- }
-
- @Override
- public final boolean
- getPreferSecure()
- {
- return _preferSecure;
- }
-
- @Override
- public final Ice.EndpointSelectionType
- getEndpointSelection()
- {
- return _endpointSelection;
- }
-
- @Override
- public final int
- getLocatorCacheTimeout()
- {
- return _locatorCacheTimeout;
- }
-
- @Override
- public final String
- getConnectionId()
- {
- return _connectionId;
- }
-
- @Override
- public Reference
- changeEncoding(Ice.EncodingVersion newEncoding)
- {
- RoutableReference r = (RoutableReference)super.changeEncoding(newEncoding);
- if(r != this)
- {
- LocatorInfo locInfo = r._locatorInfo;
- if(locInfo != null && !locInfo.getLocator().ice_getEncodingVersion().equals(newEncoding))
- {
- r._locatorInfo = getInstance().locatorManager().get(
- (Ice.LocatorPrx)locInfo.getLocator().ice_encodingVersion(newEncoding));
- }
- }
- return r;
- }
-
- @Override
- public Reference
- changeCompress(boolean newCompress)
- {
- RoutableReference r = (RoutableReference)super.changeCompress(newCompress);
- if(r != this && _endpoints.length > 0) // Also override the compress flag on the endpoints if it was updated.
- {
- EndpointI[] newEndpoints = new EndpointI[_endpoints.length];
- for(int i = 0; i < _endpoints.length; i++)
- {
- newEndpoints[i] = _endpoints[i].compress(newCompress);
- }
- r._endpoints = newEndpoints;
- }
- return r;
- }
-
- @Override
- public Reference
- changeEndpoints(EndpointI[] newEndpoints)
- {
- if(java.util.Arrays.equals(newEndpoints, _endpoints))
- {
- return this;
- }
- RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
- r._endpoints = newEndpoints;
- r._adapterId = "";
- r.applyOverrides(r._endpoints);
- return r;
- }
-
- @Override
- public Reference
- changeAdapterId(String newAdapterId)
- {
- if(_adapterId.equals(newAdapterId))
- {
- return this;
- }
- RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
- r._adapterId = newAdapterId;
- r._endpoints = _emptyEndpoints;
- return r;
- }
-
- @Override
- public Reference
- changeLocator(Ice.LocatorPrx newLocator)
- {
- LocatorInfo newLocatorInfo = getInstance().locatorManager().get(newLocator);
- if(newLocatorInfo != null && _locatorInfo != null && newLocatorInfo.equals(_locatorInfo))
- {
- return this;
- }
- RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
- r._locatorInfo = newLocatorInfo;
- return r;
- }
-
- @Override
- public Reference
- changeRouter(Ice.RouterPrx newRouter)
- {
- RouterInfo newRouterInfo = getInstance().routerManager().get(newRouter);
- if(newRouterInfo != null && _routerInfo != null && newRouterInfo.equals(_routerInfo))
- {
- return this;
- }
- RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
- r._routerInfo = newRouterInfo;
- return r;
- }
-
- @Override
- public Reference
- changeCollocationOptimized(boolean newCollocationOptimized)
- {
- if(newCollocationOptimized == _collocationOptimized)
- {
- return this;
- }
- RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
- r._collocationOptimized = newCollocationOptimized;
- return r;
- }
-
- @Override
- public final Reference
- changeCacheConnection(boolean newCache)
- {
- if(newCache == _cacheConnection)
- {
- return this;
- }
- RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
- r._cacheConnection = newCache;
- return r;
- }
-
- @Override
- public Reference
- changePreferSecure(boolean newPreferSecure)
- {
- if(newPreferSecure == _preferSecure)
- {
- return this;
- }
- RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
- r._preferSecure = newPreferSecure;
- return r;
- }
-
- @Override
- public final Reference
- changeEndpointSelection(Ice.EndpointSelectionType newType)
- {
- if(newType == _endpointSelection)
- {
- return this;
- }
- RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
- r._endpointSelection = newType;
- return r;
- }
-
- @Override
- public Reference
- changeLocatorCacheTimeout(int newTimeout)
- {
- if(_locatorCacheTimeout == newTimeout)
- {
- return this;
- }
- RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
- r._locatorCacheTimeout = newTimeout;
- return r;
- }
-
- @Override
- public Reference
- changeTimeout(int newTimeout)
- {
- if(_overrideTimeout && _timeout == newTimeout)
- {
- return this;
- }
- RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
- r._timeout = newTimeout;
- r._overrideTimeout = true;
- if(_endpoints.length > 0)
- {
- EndpointI[] newEndpoints = new EndpointI[_endpoints.length];
- for(int i = 0; i < _endpoints.length; i++)
- {
- newEndpoints[i] = _endpoints[i].timeout(newTimeout);
- }
- r._endpoints = newEndpoints;
- }
- return r;
- }
-
- @Override
- public Reference
- changeConnectionId(String id)
- {
- if(_connectionId.equals(id))
- {
- return this;
- }
- RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this);
- r._connectionId = id;
- if(_endpoints.length > 0)
- {
- EndpointI[] newEndpoints = new EndpointI[_endpoints.length];
- for(int i = 0; i < _endpoints.length; i++)
- {
- newEndpoints[i] = _endpoints[i].connectionId(id);
- }
- r._endpoints = newEndpoints;
- }
- return r;
- }
-
- @Override
- public boolean
- isIndirect()
- {
- return _endpoints.length == 0;
- }
-
- @Override
- public boolean
- isWellKnown()
- {
- return _endpoints.length == 0 && _adapterId.length() == 0;
- }
-
- @Override
- public void
- streamWrite(BasicStream s)
- throws Ice.MarshalException
- {
- super.streamWrite(s);
-
- s.writeSize(_endpoints.length);
- if(_endpoints.length > 0)
- {
- assert(_adapterId.length() == 0);
- for(EndpointI endpoint : _endpoints)
- {
- s.writeShort(endpoint.type());
- endpoint.streamWrite(s);
- }
- }
- else
- {
- s.writeString(_adapterId); // Adapter id.
- }
- }
-
- @Override
- public String
- toString()
- {
- //
- // WARNING: Certain features, such as proxy validation in Glacier2,
- // depend on the format of proxy strings. Changes to toString() and
- // methods called to generate parts of the reference string could break
- // these features. Please review for all features that depend on the
- // format of proxyToString() before changing this and related code.
- //
- StringBuilder s = new StringBuilder(128);
- s.append(super.toString());
- if(_endpoints.length > 0)
- {
- for(EndpointI endpoint : _endpoints)
- {
- String endp = endpoint.toString();
- if(endp != null && endp.length() > 0)
- {
- s.append(':');
- s.append(endp);
- }
- }
- }
- else if(_adapterId.length() > 0)
- {
- s.append(" @ ");
-
- //
- // If the encoded adapter id string contains characters which
- // the reference parser uses as separators, then we enclose
- // the adapter id string in quotes.
- //
- String a = IceUtilInternal.StringUtil.escapeString(_adapterId, null);
- if(IceUtilInternal.StringUtil.findFirstOf(a, " :@") != -1)
- {
- s.append('"');
- s.append(a);
- s.append('"');
- }
- else
- {
- s.append(a);
- }
- }
- return s.toString();
- }
-
- @Override
- public java.util.Map<String, String> toProperty(String prefix)
- {
- java.util.Map<String, String> properties = new java.util.HashMap<String, String>();
-
- properties.put(prefix, toString());
- properties.put(prefix + ".CollocationOptimized", _collocationOptimized ? "1" : "0");
- properties.put(prefix + ".ConnectionCached", _cacheConnection ? "1" : "0");
- properties.put(prefix + ".PreferSecure", _preferSecure ? "1" : "0");
- properties.put(prefix + ".EndpointSelection",
- _endpointSelection == Ice.EndpointSelectionType.Random ? "Random" : "Ordered");
-
- {
- StringBuffer s = new StringBuffer();
- s.append(getInvocationTimeout());
- properties.put(prefix + ".InvocationTimeout", s.toString());
- }
- {
- StringBuffer s = new StringBuffer();
- s.append(_locatorCacheTimeout);
- properties.put(prefix + ".LocatorCacheTimeout", s.toString());
- }
-
- if(_routerInfo != null)
- {
- Ice.ObjectPrxHelperBase h = (Ice.ObjectPrxHelperBase)_routerInfo.getRouter();
- java.util.Map<String, String> routerProperties = h.__reference().toProperty(prefix + ".Router");
- for(java.util.Map.Entry<String, String> p : routerProperties.entrySet())
- {
- properties.put(p.getKey(), p.getValue());
- }
- }
-
- if(_locatorInfo != null)
- {
- Ice.ObjectPrxHelperBase h = (Ice.ObjectPrxHelperBase)_locatorInfo.getLocator();
- java.util.Map<String, String> locatorProperties = h.__reference().toProperty(prefix + ".Locator");
- for(java.util.Map.Entry<String, String> p : locatorProperties.entrySet())
- {
- properties.put(p.getKey(), p.getValue());
- }
- }
-
- return properties;
- }
-
- @Override
- public synchronized int
- hashCode()
- {
- if(!_hashInitialized)
- {
- super.hashCode(); // Initializes _hashValue.
- _hashValue = IceInternal.HashUtil.hashAdd(_hashValue, _adapterId);
- }
- return _hashValue;
- }
-
- @Override
- public boolean
- equals(java.lang.Object obj)
- {
- if(this == obj)
- {
- return true;
- }
- if(!(obj instanceof RoutableReference))
- {
- return false;
- }
-
- if(!super.equals(obj))
- {
- return false;
- }
- RoutableReference rhs = (RoutableReference)obj; // Guaranteed to succeed.
- if(_locatorInfo == null ? rhs._locatorInfo != null : !_locatorInfo.equals(rhs._locatorInfo))
- {
- return false;
- }
- if(_routerInfo == null ? rhs._routerInfo != null : !_routerInfo.equals(rhs._routerInfo))
- {
- return false;
- }
- if(_collocationOptimized != rhs._collocationOptimized)
- {
- return false;
- }
- if(_cacheConnection != rhs._cacheConnection)
- {
- return false;
- }
- if(_preferSecure != rhs._preferSecure)
- {
- return false;
- }
- if(_endpointSelection != rhs._endpointSelection)
- {
- return false;
- }
- if(_locatorCacheTimeout != rhs._locatorCacheTimeout)
- {
- return false;
- }
- if(!_connectionId.equals(rhs._connectionId))
- {
- return false;
- }
- if(_overrideTimeout != rhs._overrideTimeout)
- {
- return false;
- }
- if(_overrideTimeout && _timeout != rhs._timeout)
- {
- return false;
- }
- if(!java.util.Arrays.equals(_endpoints, rhs._endpoints))
- {
- return false;
- }
- if(!_adapterId.equals(rhs._adapterId))
- {
- return false;
- }
- return true;
- }
-
- @Override
- public void
- getConnection(final GetConnectionCallback callback)
- {
- if(_routerInfo != null)
- {
- //
- // If we route, we send everything to the router's client
- // proxy endpoints.
- //
- _routerInfo.getClientEndpoints(new RouterInfo.GetClientEndpointsCallback()
- {
- @Override
- public void
- setEndpoints(EndpointI[] endpts)
- {
- if(endpts.length > 0)
- {
- applyOverrides(endpts);
- createConnection(endpts, callback);
- }
- else
- {
- getConnectionNoRouterInfo(callback);
- }
- }
-
- @Override
- public void
- setException(Ice.LocalException ex)
- {
- callback.setException(ex);
- }
- });
- }
- else
- {
- getConnectionNoRouterInfo(callback);
- }
- }
-
- public void
- getConnectionNoRouterInfo(final GetConnectionCallback callback)
- {
- if(_endpoints.length > 0)
- {
- createConnection(_endpoints, callback);
- return;
- }
-
- final RoutableReference self = this;
- if(_locatorInfo != null)
- {
- _locatorInfo.getEndpoints(this, _locatorCacheTimeout, new LocatorInfo.GetEndpointsCallback()
- {
- @Override
- public void
- setEndpoints(EndpointI[] endpoints, final boolean cached)
- {
- if(endpoints.length == 0)
- {
- callback.setException(new Ice.NoEndpointException(self.toString()));
- return;
- }
-
- applyOverrides(endpoints);
- createConnection(endpoints, new GetConnectionCallback()
- {
- @Override
- public void
- setConnection(Ice.ConnectionI connection, boolean compress)
- {
- callback.setConnection(connection, compress);
- }
-
- @Override
- public void
- setException(Ice.LocalException exc)
- {
- try
- {
- throw exc;
- }
- catch(Ice.NoEndpointException ex)
- {
- callback.setException(ex); // No need to retry if there's no endpoints.
- }
- catch(Ice.LocalException ex)
- {
- assert(_locatorInfo != null);
- _locatorInfo.clearCache(self);
- if(cached)
- {
- TraceLevels traceLvls = getInstance().traceLevels();
- if(traceLvls.retry >= 2)
- {
- String s = "connection to cached endpoints failed\n" +
- "removing endpoints from cache and trying one more time\n" + ex;
- getInstance().initializationData().logger.trace(traceLvls.retryCat, s);
- }
- getConnectionNoRouterInfo(callback); // Retry.
- return;
- }
- callback.setException(ex);
- }
- }
- });
- }
-
- @Override
- public void
- setException(Ice.LocalException ex)
- {
- callback.setException(ex);
- }
- });
- }
- else
- {
- callback.setException(new Ice.NoEndpointException(toString()));
- }
- }
-
- protected
- RoutableReference(Instance instance,
- Ice.Communicator communicator,
- Ice.Identity identity,
- String facet,
- int mode,
- boolean secure,
- Ice.ProtocolVersion protocol,
- Ice.EncodingVersion encoding,
- EndpointI[] endpoints,
- String adapterId,
- LocatorInfo locatorInfo,
- RouterInfo routerInfo,
- boolean collocationOptimized,
- boolean cacheConnection,
- boolean prefereSecure,
- Ice.EndpointSelectionType endpointSelection,
- int locatorCacheTimeout,
- int invocationTimeout,
- java.util.Map<String, String> context)
- {
- super(instance, communicator, identity, facet, mode, secure, protocol, encoding, invocationTimeout, context);
- _endpoints = endpoints;
- _adapterId = adapterId;
- _locatorInfo = locatorInfo;
- _routerInfo = routerInfo;
- _collocationOptimized = collocationOptimized;
- _cacheConnection = cacheConnection;
- _preferSecure = prefereSecure;
- _endpointSelection = endpointSelection;
- _locatorCacheTimeout = locatorCacheTimeout;
- _overrideTimeout = false;
- _timeout = -1;
-
- if(_endpoints == null)
- {
- _endpoints = _emptyEndpoints;
- }
- if(_adapterId == null)
- {
- _adapterId = "";
- }
- assert(_adapterId.length() == 0 || _endpoints.length == 0);
- }
-
- protected void
- applyOverrides(EndpointI[] endpts)
- {
- //
- // Apply the endpoint overrides to each endpoint.
- //
- for(int i = 0; i < endpts.length; ++i)
- {
- endpts[i] = endpts[i].connectionId(_connectionId);
- if(_overrideCompress)
- {
- endpts[i] = endpts[i].compress(_compress);
- }
- if(_overrideTimeout)
- {
- endpts[i] = endpts[i].timeout(_timeout);
- }
- }
- }
-
- private EndpointI[]
- filterEndpoints(EndpointI[] allEndpoints)
- {
- java.util.List<EndpointI> endpoints = new java.util.ArrayList<EndpointI>();
-
- //
- // Filter out opaque endpoints.
- //
- for(EndpointI endpoint : allEndpoints)
- {
- if(!(endpoint instanceof IceInternal.OpaqueEndpointI))
- {
- endpoints.add(endpoint);
- }
- }
-
- //
- // Filter out endpoints according to the mode of the reference.
- //
- switch(getMode())
- {
- case Reference.ModeTwoway:
- case Reference.ModeOneway:
- case Reference.ModeBatchOneway:
- {
- //
- // Filter out datagram endpoints.
- //
- java.util.Iterator<EndpointI> i = endpoints.iterator();
- while(i.hasNext())
- {
- EndpointI endpoint = i.next();
- if(endpoint.datagram())
- {
- i.remove();
- }
- }
- break;
- }
-
- case Reference.ModeDatagram:
- case Reference.ModeBatchDatagram:
- {
- //
- // Filter out non-datagram endpoints.
- //
- java.util.Iterator<EndpointI> i = endpoints.iterator();
- while(i.hasNext())
- {
- EndpointI endpoint = i.next();
- if(!endpoint.datagram())
- {
- i.remove();
- }
- }
- break;
- }
- }
-
- //
- // Sort the endpoints according to the endpoint selection type.
- //
- switch(getEndpointSelection())
- {
- case Random:
- {
- java.util.Collections.shuffle(endpoints);
- break;
- }
- case Ordered:
- {
- // Nothing to do.
- break;
- }
- default:
- {
- assert(false);
- break;
- }
- }
-
- //
- // If a secure connection is requested or secure overrides is
- // set, remove all non-secure endpoints. Otherwise if preferSecure is set
- // make secure endpoints prefered. By default make non-secure
- // endpoints preferred over secure endpoints.
- //
- DefaultsAndOverrides overrides = getInstance().defaultsAndOverrides();
- if(overrides.overrideSecure ? overrides.overrideSecureValue : getSecure())
- {
- java.util.Iterator<EndpointI> i = endpoints.iterator();
- while(i.hasNext())
- {
- EndpointI endpoint = i.next();
- if(!endpoint.secure())
- {
- i.remove();
- }
- }
- }
- else if(getPreferSecure())
- {
- java.util.Collections.sort(endpoints, _preferSecureEndpointComparator);
- }
- else
- {
- java.util.Collections.sort(endpoints, _preferNonSecureEndpointComparator);
- }
-
- return endpoints.toArray(new EndpointI[endpoints.size()]);
- }
-
- protected void
- createConnection(EndpointI[] allEndpoints, final GetConnectionCallback callback)
- {
- final EndpointI[] endpoints = filterEndpoints(allEndpoints);
- if(endpoints.length == 0)
- {
- callback.setException(new Ice.NoEndpointException(toString()));
- return;
- }
-
- //
- // Finally, create the connection.
- //
- final OutgoingConnectionFactory factory = getInstance().outgoingConnectionFactory();
- if(getCacheConnection() || endpoints.length == 1)
- {
- //
- // Get an existing connection or create one if there's no
- // existing connection to one of the given endpoints.
- //
- factory.create(endpoints, false, getEndpointSelection(),
- new OutgoingConnectionFactory.CreateConnectionCallback()
- {
- @Override
- public void
- setConnection(Ice.ConnectionI connection, boolean compress)
- {
- //
- // If we have a router, set the object adapter for this router
- // (if any) to the new connection, so that callbacks from the
- // router can be received over this new connection.
- //
- if(_routerInfo != null && _routerInfo.getAdapter() != null)
- {
- connection.setAdapter(_routerInfo.getAdapter());
- }
- callback.setConnection(connection, compress);
- }
-
- @Override
- public void
- setException(Ice.LocalException ex)
- {
- callback.setException(ex);
- }
- });
- }
- else
- {
- //
- // Go through the list of endpoints and try to create the
- // connection until it succeeds. This is different from just
- // calling create() with the given endpoints since this might
- // create a new connection even if there's an existing
- // connection for one of the endpoints.
- //
-
- factory.create(new EndpointI[]{ endpoints[0] }, true, getEndpointSelection(),
- new OutgoingConnectionFactory.CreateConnectionCallback()
- {
- @Override
- public void
- setConnection(Ice.ConnectionI connection, boolean compress)
- {
- //
- // If we have a router, set the object adapter for this router
- // (if any) to the new connection, so that callbacks from the
- // router can be received over this new connection.
- //
- if(_routerInfo != null && _routerInfo.getAdapter() != null)
- {
- connection.setAdapter(_routerInfo.getAdapter());
- }
- callback.setConnection(connection, compress);
- }
-
- @Override
- public void
- setException(final Ice.LocalException ex)
- {
- if(_exception == null)
- {
- _exception = ex;
- }
-
- if(++_i == endpoints.length)
- {
- callback.setException(_exception);
- return;
- }
-
- final boolean more = _i != endpoints.length - 1;
- final EndpointI[] endpoint = new EndpointI[]{ endpoints[_i] };
- factory.create(endpoint, more, getEndpointSelection(), this);
- }
-
- private int _i = 0;
- private Ice.LocalException _exception = null;
- });
- }
- }
-
- static class EndpointComparator implements java.util.Comparator<EndpointI>
- {
- EndpointComparator(boolean preferSecure)
- {
- _preferSecure = preferSecure;
- }
-
- @Override
- public int
- compare(EndpointI le, EndpointI re)
- {
- boolean ls = le.secure();
- boolean rs = re.secure();
- if((ls && rs) || (!ls && !rs))
- {
- return 0;
- }
- else if(!ls && rs)
- {
- if(_preferSecure)
- {
- return 1;
- }
- else
- {
- return -1;
- }
- }
- else
- {
- if(_preferSecure)
- {
- return -1;
- }
- else
- {
- return 1;
- }
- }
- }
-
- private boolean _preferSecure;
- }
-
- private static EndpointComparator _preferNonSecureEndpointComparator = new EndpointComparator(false);
- private static EndpointComparator _preferSecureEndpointComparator = new EndpointComparator(true);
- private static EndpointI[] _emptyEndpoints = new EndpointI[0];
-
- private EndpointI[] _endpoints;
- private String _adapterId;
- private LocatorInfo _locatorInfo; // Null if no router is used.
- private RouterInfo _routerInfo; // Null if no router is used.
- private boolean _collocationOptimized;
- private boolean _cacheConnection;
- private boolean _preferSecure;
- private Ice.EndpointSelectionType _endpointSelection;
- private int _locatorCacheTimeout;
-
- private boolean _overrideTimeout;
- private int _timeout; // Only used if _overrideTimeout == true
- private String _connectionId = "";
-}