7.12. Known Issues with Dynamic Data
7.12.1. Conversion of data by member-access primitives limited when converting to types that are not supported on all platforms
The conversion of data by member-access primitives (get_X() operations) is limited when converting to types that are not supported on all platforms. This limitation applies when converting to a 64-bit int64 type (get_longlong() and get_ulonglong() operations) and a 128-bit long double type (get_longdouble()). These methods will always work for data members that are actually of the correct type, but will only support conversion from values that are stored as smaller types on a subset of platforms. Conversion to 64-bit int64s from a 32-bit or smaller integer type is supported on all Windows and Linux architectures, and any additional 64-bit architectures. Conversion to 128-bit long doubles from a float or double is not supported.
[RTI Issue ID CORE-2986]
7.12.2. Types that contain bit fields not supported
Types that contain bit fields are not supported by DynamicData. Therefore, when rtiddsspy discovers any type that contains a bit field, rtiddsspy will print this message:
DDS_DynamicDataTypeSupport_initialize:type not supported (bitfield member)
[RTI Issue ID CORE-2977]
7.12.3. Long double not supported for DynamicData in Java API
The Java API does not have DynamicData APIs to handle long double fields.
That is, get_longdouble
and set_longdouble
don’t exist. As a result,
it’s not possible to work with long double fields of DynamicData samples
in the Java API.
[RTI Issue ID CORE-14091]
7.12.4. Limitation for C# recursive types
Recursive types (types whose definition contains themselves at any level) are
supported in the C# API. However, there is one limitation. The DynamicType
property of the type support generated for a recursive IDL type
(such as FooTypeSupport.Instance.DynamicType
) is not available. Trying to
access it will fail with NotSupportedException
. This property is only
needed for applications that inspect the type dynamically or create DynamicData
objects. If that is required, you can define the type in XML and load it with
QosProvider.GetType
or in code using the DynamicTypeFactory.
[RTI Issue ID CORE-14407]