4.22. Interoperability
4.22.1. [Major] RTPS Header Extension timestamp used incorrect clock
The RTPS Header Extension timestamp was populated with the
internal_clock instead of the external_clock. This could lead to
the timestamp being populated with an invalid value (from the
perspective of the remote host), if the internal_clock was set to
the monotonic value. Timestamps should be generated with the
external_clock. The RTPS Header Extension timestamp is now populated
with the external_clock.
For more information about clocks in Connext, see Configuring the Clock per DomainParticipant.
[RTI Issue ID CORE-16250]
4.22.2. [Major] TypeConsistencyEnforcement::ignore_member_names did not work in some cases
Setting TypeConsistencyEnforcement::ignore_member_names to true did not work in some cases. These are some examples of the scenarios that have been fixed:
Two mutable structures have a member with the same name but different ID and another member with the same name and ID:
@mutable
struct CORE16105Struct1 {
long x1; //@ID 1
long x5; //@ID 5
};
@mutable
struct CORE16105Struct2 {
long x1; //@ID 2
long x5; //@ID 5
};
DataWriter of type CORE16105Struct1 and DataReader of type CORE16105Struct2.
Two unions have different member names but the same extensibility, number of members, and discriminator values for the same types:
union CORE16105Union1 switch(unsigned long) {
case 1:
short x1;
case 2:
long x2;
case 3:
long x3;
};
union CORE16105Union2 switch(unsigned long) {
case 1:
short x2;
case 2:
long x1;
case 3:
long x3;
};
DataWriter of type CORE16105Union1 and DataReader of type CORE16105Union2.
Two arrays of arrays or two sequences of sequences have different member names but the same extensibility and dimensions (only XCDR was broken; XCDR2 was working):
@appendable
struct CORE16105Array20Uint32 {
unsigned long x1[20];
};
@final
struct CORE16105Array10Array20Uint32 {
CORE16105Array20Uint32 x1[10];
};
@appendable
struct CORE16105Array20Uint32Alt {
unsigned long altx1[20];
};
@final
struct CORE16105Array10Array20Uint32Alt {
CORE16105Array20Uint32Alt altx1[10];
};
DataWriter of type CORE16105Array10Array20Uint32 and DataReader of type CORE16105Array10Array20Uint32Alt.
[RTI Issue ID CORE-16105]