summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/Reference.java
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2014-05-23 11:59:44 +0200
committerBenoit Foucher <benoit@zeroc.com>2014-05-23 11:59:44 +0200
commitd81701ca8182942b7936f9fd84a019b695e9c890 (patch)
treedc036c9d701fbbe1afad67782bd78572c0f61974 /java/src/IceInternal/Reference.java
parentFixed bug ICE-5543: stringToIdentity bug with escaped escapes (diff)
downloadice-d81701ca8182942b7936f9fd84a019b695e9c890.tar.bz2
ice-d81701ca8182942b7936f9fd84a019b695e9c890.tar.xz
ice-d81701ca8182942b7936f9fd84a019b695e9c890.zip
Added support for invocation timeouts and ACM heartbeats
Diffstat (limited to 'java/src/IceInternal/Reference.java')
-rw-r--r--java/src/IceInternal/Reference.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/java/src/IceInternal/Reference.java b/java/src/IceInternal/Reference.java
index b9ba4a7b5d7..1fed84467d0 100644
--- a/java/src/IceInternal/Reference.java
+++ b/java/src/IceInternal/Reference.java
@@ -72,6 +72,12 @@ public abstract class Reference implements Cloneable
return _context;
}
+ public int
+ getInvocationTimeout()
+ {
+ return _invocationTimeout;
+ }
+
public final Ice.Communicator
getCommunicator()
{
@@ -161,6 +167,18 @@ public abstract class Reference implements Cloneable
return r;
}
+ public final Reference
+ changeInvocationTimeout(int newTimeout)
+ {
+ if(newTimeout == _invocationTimeout)
+ {
+ return this;
+ }
+ Reference r = _instance.referenceFactory().copy(this);
+ r._invocationTimeout = newTimeout;
+ return r;
+ }
+
public Reference
changeEncoding(Ice.EncodingVersion newEncoding)
{
@@ -220,6 +238,7 @@ public abstract class Reference implements Cloneable
}
h = IceInternal.HashUtil.hashAdd(h, _protocol);
h = IceInternal.HashUtil.hashAdd(h, _encoding);
+ h = IceInternal.HashUtil.hashAdd(h, _invocationTimeout);
_hashValue = h;
_hashInitialized = true;
@@ -447,6 +466,11 @@ public abstract class Reference implements Cloneable
return false;
}
+ if(_invocationTimeout != r._invocationTimeout)
+ {
+ return false;
+ }
+
return true;
}
@@ -480,6 +504,7 @@ public abstract class Reference implements Cloneable
private String _facet;
private Ice.ProtocolVersion _protocol;
private Ice.EncodingVersion _encoding;
+ private int _invocationTimeout;
protected boolean _overrideCompress;
protected boolean _compress; // Only used if _overrideCompress == true
@@ -492,6 +517,7 @@ public abstract class Reference implements Cloneable
boolean secure,
Ice.ProtocolVersion protocol,
Ice.EncodingVersion encoding,
+ int invocationTimeout,
java.util.Map<String, String> context)
{
//
@@ -510,6 +536,7 @@ public abstract class Reference implements Cloneable
_facet = facet;
_protocol = protocol;
_encoding = encoding;
+ _invocationTimeout = invocationTimeout;
_hashInitialized = false;
_overrideCompress = false;
_compress = false;