Issue 17294: Extended PID is not clear enough what the 2 value lengths mean (dds-xtypes-ftf) Source: DECA (Mr. Rick Warren, ) Nature: Uncategorized Issue Severity: Summary: Found by: Fernando Crespo, RTI (fernando@rti.com) Severity: Support Text Problem: Section 7.4.1.2.1, "Interpretation of Parameter ID Values", says the following directly beneath Table 27, "Reserved parameter ID values": "The length of this parameter shall be at least eight bytes: the first four bytes of the parameter data shall be interpreted as a set of four reserved bit flags followed by the 28-bit member ID; the second four bytes shall be interpreted as a 32-bit unsigned data length measured from the end of that field until the start of the next 16-bit parameter ID. If the 16-bit length is greater than eight, the additional contents are undefined and are reserved for future use by OMG specifications." The meaning is that the "data value" of the (shorter) parameter is in fact itself a longer parameter ID header, and the length indicated in the former header is in fact the length of that (longer) header only. The actual data value follows both headers, and its length (i.e. until the next parameter header) is given in the longer parameter header. Thus the total length of the parameter following the shorter header is the sum of the two lengths. The values of the flag fields are unspecified, as of the 1.0 specification, and reserved for future OMG specifications. Proposed Resolution: Update the description to more clearly reflect the data layout and add a figure to show it graphically. Resolution: Revised Text: Actions taken: April 10, 2012: received issue Discussion: End of Annotations:===== s is issue # 17294 Extended PID is not clear enough what the 2 value lengths mean Found by: Fernando Crespo, RTI (fernando@rti.com) Severity: Support Text Problem: Section 7.4.1.2.1, "Interpretation of Parameter ID Values", says the following directly beneath Table 27, "Reserved parameter ID values": "The length of this parameter shall be at least eight bytes: the first four bytes of the parameter data shall be interpreted as a set of four reserved bit flags followed by the 28-bit member ID; the second four bytes shall be interpreted as a 32-bit unsigned data length measured from the end of that field until the start of the next 16-bit parameter ID. If the 16-bit length is greater than eight, the additional contents are undefined and are reserved for future use by OMG specifications." The meaning is that the "data value" of the (shorter) parameter is in fact itself a longer parameter ID header, and the length indicated in the former header is in fact the length of that (longer) header only. The actual data value follows both headers, and its length (i.e. until the next parameter header) is given in the longer parameter header. Thus the total length of the parameter following the shorter header is the sum of the two lengths. The values of the flag fields are unspecified, as of the 1.0 specification, and reserved for future OMG specifications. Proposed Resolution: Update the description to more clearly reflect the data layout and add a figure to show it graphically.