Python API: Change QoS during lifetime

3 posts / 0 new
Last post
Offline
Last seen: 1 week 5 days ago
Joined: 11/23/2021
Posts: 27
Python API: Change QoS during lifetime

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

Marc.Chiesa's picture
Offline
Last seen: 5 months 2 weeks ago
Joined: 07/24/2017
Posts: 32

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

r
Offline
Last seen: 3 weeks 2 days ago
Joined: 06/17/2019
Posts: 40

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.