summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/Protocol.java
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-04-20 17:29:10 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-04-20 17:29:10 +0200
commit410311ac0dad54bbc0906085134b41e12ed44abb (patch)
tree678d75e04b90c289628c1ae79100317432bfe1d8 /java/src/IceInternal/Protocol.java
parentEnabled again objects test (diff)
downloadice-410311ac0dad54bbc0906085134b41e12ed44abb.tar.bz2
ice-410311ac0dad54bbc0906085134b41e12ed44abb.tar.xz
ice-410311ac0dad54bbc0906085134b41e12ed44abb.zip
Java port
Diffstat (limited to 'java/src/IceInternal/Protocol.java')
-rw-r--r--java/src/IceInternal/Protocol.java59
1 files changed, 53 insertions, 6 deletions
diff --git a/java/src/IceInternal/Protocol.java b/java/src/IceInternal/Protocol.java
index 443550211ca..81f44cdccba 100644
--- a/java/src/IceInternal/Protocol.java
+++ b/java/src/IceInternal/Protocol.java
@@ -35,6 +35,9 @@ final public class Protocol
//
public final static byte protocolMajor = 1;
public final static byte protocolMinor = 0;
+ public final static byte protocolEncodingMajor = 1;
+ public final static byte protocolEncodingMinor = 0;
+
public final static byte encodingMajor = 1;
public final static byte encodingMinor = 0;
@@ -55,8 +58,8 @@ final public class Protocol
IceInternal.Protocol.magic[3],
IceInternal.Protocol.protocolMajor,
IceInternal.Protocol.protocolMinor,
- IceInternal.Protocol.encodingMajor,
- IceInternal.Protocol.encodingMinor,
+ IceInternal.Protocol.protocolEncodingMajor,
+ IceInternal.Protocol.protocolEncodingMinor,
IceInternal.Protocol.requestMsg,
(byte)0, // Compression status.
(byte)0, (byte)0, (byte)0, (byte)0, // Message size (placeholder).
@@ -71,8 +74,8 @@ final public class Protocol
IceInternal.Protocol.magic[3],
IceInternal.Protocol.protocolMajor,
IceInternal.Protocol.protocolMinor,
- IceInternal.Protocol.encodingMajor,
- IceInternal.Protocol.encodingMinor,
+ IceInternal.Protocol.protocolEncodingMajor,
+ IceInternal.Protocol.protocolEncodingMinor,
IceInternal.Protocol.requestBatchMsg,
0, // Compression status.
(byte)0, (byte)0, (byte)0, (byte)0, // Message size (placeholder).
@@ -87,11 +90,55 @@ final public class Protocol
IceInternal.Protocol.magic[3],
IceInternal.Protocol.protocolMajor,
IceInternal.Protocol.protocolMinor,
- IceInternal.Protocol.encodingMajor,
- IceInternal.Protocol.encodingMinor,
+ IceInternal.Protocol.protocolEncodingMajor,
+ IceInternal.Protocol.protocolEncodingMinor,
IceInternal.Protocol.replyMsg,
(byte)0, // Compression status.
(byte)0, (byte)0, (byte)0, (byte)0 // Message size (placeholder).
};
+ static final public Ice.ProtocolVersion currentProtocol = new Ice.ProtocolVersion(protocolMajor, protocolMinor);
+ static final public Ice.EncodingVersion currentProtocolEncoding = new Ice.EncodingVersion(protocolEncodingMajor,
+ protocolEncodingMinor);
+
+ static final public Ice.EncodingVersion currentEncoding = new Ice.EncodingVersion(encodingMajor, encodingMinor);
+
+ static public void
+ checkSupportedProtocol(Ice.ProtocolVersion v)
+ {
+ if(v.major != currentProtocol.major || v.minor > currentProtocol.minor)
+ {
+ throw new Ice.UnsupportedProtocolException("", v, currentProtocol);
+ }
+ }
+
+ static public void
+ checkSupportedProtocolEncoding(Ice.EncodingVersion v)
+ {
+ if(v.major != currentProtocolEncoding.major || v.minor > currentProtocolEncoding.minor)
+ {
+ throw new Ice.UnsupportedEncodingException("", v, currentProtocolEncoding);
+ }
+ }
+
+ static public void
+ checkSupportedEncoding(Ice.EncodingVersion v)
+ {
+ if(v.major != currentEncoding.major || v.minor > currentEncoding.minor)
+ {
+ throw new Ice.UnsupportedEncodingException("", v, currentEncoding);
+ }
+ }
+
+ static public boolean
+ isSupported(Ice.ProtocolVersion version, Ice.ProtocolVersion supported)
+ {
+ return version.major == supported.major && version.minor <= supported.minor;
+ }
+
+ static public boolean
+ isSupported(Ice.EncodingVersion version, Ice.EncodingVersion supported)
+ {
+ return version.major == supported.major && version.minor <= supported.minor;
+ }
}