Hello,
Does anybody know if it is possible to change QoS settings with the RTI Python API during lifetime?
If yes how can I access the QoS settings and change them? Are there any methods to do this?
Thanks in advance!
Regards,
Marc
Hello,
Does anybody know if it is possible to change QoS settings with the RTI Python API during lifetime?
If yes how can I access the QoS settings and change them? Are there any methods to do this?
Thanks in advance!
Regards,
Marc
Hi Marc,
A subset of quality of service cn be changed after a DDS entity has been enabled. For example, you can modify policies like Partition on Publishers/Subscribers or Ownership Strength on DataWriters. The experimental Python API provides the capability to change these settings, however Connector for Python does not currently offer a mechanism for making those changes.
The QoS property on DDS entity objects has copy semantics. This means you need to assign it to a variable, make your changes, and assign it back to the qos property on the entity. For example, to change the partition on a subscriber named sub:
qos = sub.qos
# put sub on partitions a, b, and c
qos.partition.name = ['a', 'b', 'c']
sub.qos = qos
As MarcC mentioned some QoS is changable at runtime. For a list of when different QoS settings can be changed see the QoS Reference Guide:
https://community.rti.com/static/documentation/connext-dds/6.1.0/doc/manuals/connext_dds_professional/qos_reference/index.htm
Specifically the "Chg" column. There is a key for the different designations in that column at the bottom of the table.