6.2.13. APIs (Multiple Languages)
6.2.13.1. [Major] Looking up a DataReader using the wrong class in Modern C++ or Python did not raise clear exception *
In Modern C++, when using the find_datareader_by_topic_name
or
find_datawriter_by_topic_name
functions and the wrong DataReader type,
the function may have returned an invalid entity. Now, it will throw a
dds::core::InvalidArgumentError
. For example:
auto dr =
rti::sub::find_datareader_by_topic_name<DataReader<Foo>>(
dds::sub::builtin_subscriber(participant),
dds::topic::publication_topic_name());
In Python, the following code now throws a dds.InvalidArgumentError
:
dr = dds.DataReader.find_by_topic(
participant.builtin_subscriber, dds.PublicationBuiltinTopicData.topic_name)
since the right DataReader class for the built-in
PublicationBuiltinTopicData
reader is
dds.PublicationBuiltinTopicData.DataReader
, not dds.DataReader
.
[RTI Issue ID CORE-13800]
6.2.13.2. [Minor] Alias type not obtainable using a QosProvider
Alias types were not obtainable using a QosProvider. This problem affected all language bindings that support a QosProvider. This problem has been fixed.
[RTI Issue ID CORE-13830]
* This bug does not affect you if you are upgrading from 6.1.x or earlier.