5.6.15. APIs (Python)
5.6.15.1. [Major] Exception when printing or converting a sequence of octets to string
Trying to convert a user type containing sequences or arrays of octets
to a string in the Python API may have caused a UnicodeDecodeError.
For example, given the following type in IDL:
struct MyType {
sequence<octet> my_octets;
};
Or as defined in Python:
@idl.struct
class MyType:
my_octets: Sequence[idl.uint8] = field(default_factory=list)
The problem specifically affected the implementation of the repr
methods of the types dds.Int8Seq and dds.Uint8Seq. These methods
printed the elements as characters instead of integers.
Now, octet sequences are converted to strings correctly, and the elements are treated as integers instead of characters.
[RTI Issue ID PY-163]
5.6.15.2. [Major] Incorrect deserialization of nested union with unknown discriminator
When a dds.DataReader receives a data sample in which a union
contains an unknown discriminator, the union object (obj) is
expected to be initialized with the received discriminator and a
value set to None. However, the value was not None when
the union was nested (it was correctly set to None if the union was
the top-level type).
[RTI Issue ID PY-182]
5.6.15.3. [Major] x64Linux Connext Python API not able to use libraries from $NDDSHOME/lib
On x64Linux, applications using the Connext Python API and relying on
libraries in $NDDSHOME/lib to, for example, load an add-on library
such as the Security Plugins, failed due to an undefined symbol issue
due to ABI incompatibility. Note that normally the Python API doesn’t load
the native libraries from Nddshome.
[RTI Issue ID PY-168]
5.6.15.4. [Minor] QosProvider could not be directly created with QosProviderParams
A QosProvider could not be directly created with
QosProviderParams; it required setting the parameters after
creation.
The missing init method has been added and the following example
code is now legal:
provider = dds.QosProvider(
dds.QosProviderParams(
url_profile=["file1.xml", "file2.xml"], ignore_user_profile=True
)
)
[RTI Issue ID PY-171]