diff options
author | Benoit Foucher <benoit@zeroc.com> | 2006-03-09 14:40:19 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2006-03-09 14:40:19 +0000 |
commit | f503d08955e30f2221ddc912bbce3c6a6badde5c (patch) | |
tree | a9273839e6eddada3270d5f4cabb06a3a52e7ef3 /java/src/IceInternal/RoutableReference.java | |
parent | Fixed dropdown in mfc client for VC8 (diff) | |
download | ice-f503d08955e30f2221ddc912bbce3c6a6badde5c.tar.bz2 ice-f503d08955e30f2221ddc912bbce3c6a6badde5c.tar.xz ice-f503d08955e30f2221ddc912bbce3c6a6badde5c.zip |
Moved endpointSelection/cacheConnection to RoutableReference.
Diffstat (limited to 'java/src/IceInternal/RoutableReference.java')
-rw-r--r-- | java/src/IceInternal/RoutableReference.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/java/src/IceInternal/RoutableReference.java b/java/src/IceInternal/RoutableReference.java index 2756b43d86c..e17e6b873d7 100644 --- a/java/src/IceInternal/RoutableReference.java +++ b/java/src/IceInternal/RoutableReference.java @@ -44,6 +44,18 @@ public abstract class RoutableReference extends Reference return _collocationOptimization; } + public final boolean + getCacheConnection() + { + return _cacheConnection; + } + + public final Ice.EndpointSelectionType + getEndpointSelection() + { + return _endpointSelection; + } + public Reference changeSecure(boolean newSecure) { @@ -81,6 +93,30 @@ public abstract class RoutableReference extends Reference return r; } + public final Reference + changeCacheConnection(boolean newCache) + { + if(newCache == _cacheConnection) + { + return this; + } + RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this); + r._cacheConnection = newCache; + return r; + } + + public final Reference + changeEndpointSelection(Ice.EndpointSelectionType newType) + { + if(newType == _endpointSelection) + { + return this; + } + RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this); + r._endpointSelection = newType; + return r; + } + public synchronized int hashCode() { @@ -107,6 +143,14 @@ public abstract class RoutableReference extends Reference { return false; } + if(_cacheConnection != rhs._cacheConnection) + { + return false; + } + if(_endpointSelection != rhs._endpointSelection) + { + return false; + } return _routerInfo == null ? rhs._routerInfo == null : _routerInfo.equals(rhs._routerInfo); } @@ -125,6 +169,8 @@ public abstract class RoutableReference extends Reference _secure = sec; _routerInfo = rtrInfo; _collocationOptimization = collocationOpt; + _cacheConnection = true; + _endpointSelection = Ice.EndpointSelectionType.Random; } protected Ice.ConnectionI @@ -305,4 +351,6 @@ public abstract class RoutableReference extends Reference private boolean _secure; private RouterInfo _routerInfo; // Null if no router is used. private boolean _collocationOptimization; + private boolean _cacheConnection; + private Ice.EndpointSelectionType _endpointSelection; } |