diff options
author | Benoit Foucher <benoit@zeroc.com> | 2012-04-20 17:29:10 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2012-04-20 17:29:10 +0200 |
commit | 410311ac0dad54bbc0906085134b41e12ed44abb (patch) | |
tree | 678d75e04b90c289628c1ae79100317432bfe1d8 /java/src/IceInternal/Protocol.java | |
parent | Enabled again objects test (diff) | |
download | ice-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.java | 59 |
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; + } } |