-
Key: DDSIRTP22-7
-
Legacy Issue Number: 16956
-
Status: closed
-
Source: Object Computing, Inc. - OCI ( Mr. Adam Mitz)
-
Summary:
IDL is defined by OMG’s own document formal/2011-11-01 in section 7. As another OMG specification (and most importantly, for clarity and precision), the current pseudo-IDL throughout the RTPS document must be changed to be actual compliant IDL. Compliant IDL does not use anonymous types: newly-constructed types appear in their own typedefs.
{ OctetArray3 entityKey; octet entityKind; };
Section: 9.2.2
Page: 149
Change: replace IDL with
typedef octet OctetArray3[3];
struct EntityId_t
Section: 9.3.1.1
Page: 150
Change: replace IDL with
typedef octet GuidPrefix_t[12];
Section: 9.3.1.2
Page: 150
Change: replace IDL with
typedef octet OctetArray3[3];
struct EntityId_t { OctetArray3 entityKey; octet entityKind; };
Section: 9.3.1.5
{ GuidPrefix_t guidPrefix; EntityId_t entityId; }
Page: 153
Change: replace IDL with
struct GUID_t;
Section: 9.3.2, Table 9.4 row “Time_t”
{ long seconds; unsigned long fraction; }
Page: 153
Change: replace IDL with
struct Time_t;
Section: 9.3.2, Table 9.4 row “VendorId_t”
{ OctetArray2 vendorId; }
Page: 153
Change: replace IDL with
typedef octet OctetArray2[2];
struct VendorId_t;
Section: 9.3.2, Tables 9.4 and 9.5
Page: 154-159
Change: For ALL table entries with a struct move struct's identifier to directly follow the keyword "struct" (SequenceNumber_t, FragmentNumber_t, Locator_t, Count_t, ProtocolVersion_t, KeyHash_t, StatusInfo_t, ParameterId_t, ContentFilterProperty_t, ContentFilterInfo_t, OriginalWriterInfo_t, LocatorUDPv4_t) and in cases where "typedef" is used to introduce a struct, remove it (ProtocolVersion_t, ContentFilterProperty_t, ContentFilterInfo_t)
Section: 9.3.2, Table 9.4
Page: 155-157
Change: Use of anonymous types is deprecated (applies to Locator_t::address, KeyHash_t::value, StatusInfo_t::value, all fields in ContentFilterProperty_t except for filterExpression). Replace the anonymous type with a typedef.
Section: 9.3.2, Table 9.4
Page: 157
Change: Array bounds for FilterSignature_t must be at the end of the typedef
Section: 9.4.2.6
Page: 161
Change: IDL syntax error due to use of anonymous types and the struct’s identifier must directly follow the keyword “struct”; also use unsigned long for bitmap
Section: 9.4.2.8
Page: 163
Change: IDL syntax error due to use of anonymous types and the struct’s identifier must directly follow the keyword “struct”; also use unsigned long for bitmap
Section: 9.4.2.11
Page: 165
Change: Use an unsigned short for “length” and mark this as "pseudo" IDL as there is no way to represent a sequence with a 2-byte length field or an array with runtime-determined bounds
Section: 9.4.5.1
Page: 168
Change: struct’s identifier must directly follow the keyword “struct”
Section: 9.6.2.1
Page: 180
Change: IDL syntax error due to use of anonymous types
Section: 9.6.2.2
Page: 181
Change: IDL syntax error, the keyword "struct" is not used to identify types of fields. Also, IDL does not allow differences only in case so "WriterProxy writerProxy;" is ill-formed.
Section: 10.1.1.1
Page: 193
Change: IDL syntax error, array bounds for Identifier must be at the end of the typedef, and the typedef keyword is missing. -
Reported: DDSI-RTPS 2.0 — Tue, 27 Dec 2011 05:00 GMT
-
Disposition: Resolved — DDSI-RTPS 2.2
-
Disposition Summary:
In addition to making the IDL compliant, the reference to formal/2011-11-01 should
added to the normative section. -
Updated: Fri, 6 Mar 2015 20:58 GMT
DDSIRTP22 — Use compliant OMG IDL syntax
- Key: DDSIRTP22-7
- OMG Task Force: Data Distribution Interoperability 2.2 RTF