Source: Real-Time Innovations ( Gerardo Pardo-Castellote)
The type assignability rules aim to make evolving types simple and intuitive. However, there are many cases in which the rules may not match a user's needs. For example, it may or may not be desirable for the member names to be taken into account during type assignability or it may be useful to disallow types from matching solely based on the type name in the absence of type information.
Therefore we are proposing that the following behaviors are added to the TypeConsistencyEnforcementQosPolicy:
1. Provide a way to specify to only match readers/writers that you have the TypeObject so that you can ensure type compatibility.
2. Provide a way to ignore member names, sequence bounds and string bounds
3. Provide a way to prevent type widening
And that the following builtin annotation be added:
When using auto member ids, the member id is assigned to be the 4-byte hash of the member name. If a user wants to change the name of the member in another version of the type, the member id will change. This annotation will solve that situation by allowing the user to obtain the hash of the old member name as the member id for the member with a different name in the new version.
Reported: DDS-XTypes 1.1 — Thu, 22 Dec 2016 19:26 GMT
Disposition: Resolved — DDS-XTypes 1.2
Add new fields to the TypeConsistencyEnforcementQosPolicy and new @hash_id annotation
Allow users to have more control over type evolution and the type assignability rules by adding fields to the TypeConsistencyEnforcementQosPolicy and a @hash_id annotation
Updated: Thu, 22 Jun 2017 16:42 GMT