Hi,
I'm asking about which real time QoSs are supported in DDS Micro edition. I found this list of supported QoS on Data Distribution Service for Real-time Systems document:
DURABILITY
DURABILITY_SERVICE
PRESENTATION
DEADLINE
LATENCY_BUDGET
OWNERSHIP
OWNERSHIP_STRENGTH
LIVELINESS
TIME_BASED_FILTER
PARTITION
RELIABILITY
TRANSPORT_PRIORITY
LIFESPAN
DESTINATION_ORDER
HISTORY
RESOURCE_LIMITS
Therefore, I'd like if someone can specify supported QoS from this list; hence, not all QoS are supported in DDS Micro as mentioned on this post
https://community.rti.com/content/forum-topic/using-dds-wireless-sensor-networks
" QoS can be specified per-topic and per-subscriber" quoted from http://www.rti.com/docs/RTI_Micro.pdf
Is that means NO QoS could configured on publisher side ? please explan.
Thanks in advance
Hi,
The document http://www.rti.com/docs/RTI_Micro.pdf is a high-level marketing brochure so it should not be interpreted that literally.
The API for RTI Connext DDS Micro Edition is the same as for RTI Connext DDS and therefore follows the DDS specification. So QoS can be configured both in the Publisher and the Subscriber side (at creation time and with the set_qos operation) on all the DDS Entities (DomainParticipant, Topic, Publisher, Subscriber, DataWriter and DataReader). However, as you mentioned, only a subset of the QoS Policies are supported.
The following summarizes the DDS QoS policy support as of RTI Connext DDS Micro Edition version 2.4.2:
DataReaderResourceLimits
The following DataReaderResourceLimits fields are supported. All must be finite values greater than 0.
❏ max_remote_writers
❏ max_remote_writers_per_instance ❏ max_samples_per_remote_writer ❏ max_outstanding_reads
DataWriterResourceLimits
DataWriterResourceLimits QoS policy is supported with field max_remote_readers.
Destination Order
Only the BY_RECEPTION_TIMESTAMP kind is supported.
Durability
Only VOLATILE and TRANSIENT_LOCAL Durability kinds are supported.
History
Only KEEP_LAST History kind is supported.
LatencyBudget
The LatencyBudget QoS policy is not supported (effectively zero duration).
Lifespan
The Lifespan QoS policy is not supported (effectively infinite duration).
Liveliness
When lease duration is infinite, any Liveliness kind may be set. When lease duration is finite, only the MANUAL_BY_TOPIC Liveliness kind is supported. Lease duration has range of [1, infinite].
Deadline
The Deadline Qos policy is supported.
Ownership and OwnershipStrength
Both SHARED and EXCLUSIVE Ownership kinds are supported.
Presentation
Coherent sets are not supported, therefore the coherent_access field is not supported.
Reliability
Both BEST-EFFORT and RELIABLE Reliability kinds are supported.
For RELIABLE reliability, additional settings related to the RTPS protocol (e.g. periodic and piggyback HEARTBEATs) are available, see HTML documentation for specifics.
ResourceLimits
The following limits in the ResourceLimits QoS policy are supported. All must be finite values greater than 0.
❏ max_samples
❏ max_instances
❏ max_samples_per_instance
Note that max_samples must be large enough to contain all samples for all instances:
TimeBasedFilter
The TimeBasedFilter QoS policy is not supported.
Hope this clarifies things,
Gerardo
Thank you Mr. Gerardo, your feedback was sufficient.
I have one more question about resource limits QoS policy, what is the defualt value of max_samples ? is it the same LENGTH_UNLIMITED value?
Thank you again.
Hi,
The default values for max_samples, max_instances and max_samples_per_instance will be LENGTH_UNLIMITED, yes, like the DDS specification states. Recall that if max_instances and max_samples_per_instance are unlimited then their value will actually be determined by the value of max_samples.
Thanks,
Juanlu
Thank you.
Hello,
I have seen a PDF document titled "RTI Connext - Comprehensive Summary of QoS Policies". It lists about 50 QoS parameters.
Please could you clarify if the list of 14 QoS parameters above is the complete list of QoS usable for Micro DDS version 2.4.10.1
Cheers
Here is the list of QoS policies supported in the latest Connext DDS Micro release, 2.4.10.
https://community.rti.com/static/documentation/connext-micro/2.4.10/doc/html/group__DDSQosTypesModule.html
If you use one of these supported types in a Pro application, will it be able to interoperate with a micro based application?
Not sure what you mean "supported types". If you mean "supported QoS policy", then yes. Generally, you can get a Connext Pro-based application to interoperate with a Connext Micro-based application. However, both applications will need to configured with compatible QoS values for everything to work correctly.