The PROPERTY QosPolicy stores name/value (string) pairs that can be used to configure certain parameters of Connext DDS that are not exposed through formal QoS policies.
It can also be used to store and propagate application-specific name/value pairs that can be retrieved by user code during discovery. This is similar to the USER_DATA QosPolicy, except this policy uses (name, value) pairs, and you can select whether or not a particular pair should be propagated (included in the built-in topic).
It includes the member in DDS_PropertyQosPolicy.
Type |
Field Name |
Description |
DDS_PropertySeq |
value |
A sequence of: (name, value) pairs and booleans that indicate whether the pair should be propagated (included in the entity’s built-in topic upon discovery). |
The Property QoS stores name/value pairs for an Entity. Both the name and value are strings. Certain configurable parameters for Entities that do not have a formal DDS QoS definition may be configured via this QoS by using a pre-defined name and the desired setting in string form.
You can manipulate the sequence of properties (name, value pairs) with the standard methods available for sequences. You can also use the helper class, DDSPropertyQosPolicyHelper, which provides another way to work with a PropertyQosPolicy object.
The PropertyQosPolicy may be used to configure:
In addition, you can add your own name/value pairs to the Property QoS of an Entity. You may also use this QosPolicy to direct Connext DDS to propagate these name/value pairs with the discovery information for the Entity. Applications that discover the Entity can then access the user-specific name/value pairs in the discovery information of the remote Entity. This allows you to add meta-information about an Entity for application-specific use, for example, authentication/authorization certificates (which can also be done using the User or Group Data QoS).
Reasons for using the PropertyQosPolicy include:
When using the Java or .NET APIs, transport configuration must take place through the PropertyQosPolicy (not through the transport property structures).
The PropertyQosPolicyHelper operations are described in . For more information, see the API Reference HTML documentation.
Operation |
Description |
get_number_of_properties |
Gets the number of properties in the input policy. |
assert_property |
Asserts the property identified by name in the input policy. (Either adds it, or replaces an existing one.) |
add_property |
Adds a new property to the input policy. |
assert_pointer_property |
Asserts the property identified by name in the input policy. |
add_pointer_property |
Adds a new property to the input policy. |
lookup_property |
Searches for a property in the input policy given its name. |
remove_property |
Removes a property from the input policy. |
get_properties |
Retrieves a list of properties whose names match the input prefix. |
This QosPolicy can be changed at any time.
There is no requirement that the publishing and subscribing sides use compatible values.
The DOMAIN_PARTICIPANT_RESOURCE_LIMITS QosPolicy (DDS Extension) contains several fields for configuring the resources associated with the properties stored in this QosPolicy.
© 2016 RTI