Ice supports two versions of the Ice encoding since Ice 3.5: 1.0 (the original encoding) and 1.1 (the latest encoding).
There are two main differences between 1.0 and 1.1:
- the encoded representation for enums with large enumerator values
- the encoded representation for classes
This support for multiple encoding versions makes the API and configuration more complicated. Moreover, supporting the 1.0 encoding for classes means a more complicated generated code, with "patching". In some languages like C#, this prevents us from mapping structs to C# structs.
Proposal
Drop support for the 1.0 encoding and remove as much as possible all references to Encoding and Protocol from the public API and configuration.
The encoding is always Ice 1.1 and the protocol is always Ice 1.0.
Ice supports two versions of the Ice encoding since Ice 3.5: 1.0 (the original encoding) and 1.1 (the latest encoding).
There are two main differences between 1.0 and 1.1:
This support for multiple encoding versions makes the API and configuration more complicated. Moreover, supporting the 1.0 encoding for classes means a more complicated generated code, with "patching". In some languages like C#, this prevents us from mapping structs to C# structs.
Proposal
Drop support for the 1.0 encoding and remove as much as possible all references to Encoding and Protocol from the public API and configuration.
The encoding is always Ice 1.1 and the protocol is always Ice 1.0.