Source: ZettaScale Technology ( Erik Hendriks)
The IDL file describing the builtin topics consists of two parts:
- A section with #define statements where certain datatypes may be customized by the different vendors.
- A section where these customized datatypes are actually embedded in the builtin topic declarations.
All builtin topics contain a key field of type BuiltinTopicKey_t that is defined in the following way:
This implies that vendors may specify part of the key (the array element type), but they may not specify it to be anything else than an array of three of those vendor specific datatypes.
Right now, different vendors have specified the BuiltinTopicKey_t in various different ways: some uses an array of 16 octets to directly reflect the RTPS GUID, but the official DDS spec does not allow for this.
In order to allow for these kinds of vendor specific customizations, the entire BuiltinTopicKey_t should be declared as a vendor specific #define statement.
As some context: this issue was filed in the RTPS RTF working group during the Dec 2017 San Fransisco OMG meeting. Basically the consensus was that indeed the builtin topic key type should be fully customizable. How this is exactly gonna be achieved was left to the DDS RTF working group.
Reported: DDS 1.4 — Tue, 5 Dec 2017 19:50 GMT
Updated: Wed, 6 Dec 2017 07:00 GMT