As of version 0.4.0, jdds adds minimal support for quality of service (QoS). This is accomplished by mapping QoS related API classes to corresponding ones in uDDS. I.e. DataWriterQos, DataReaderQos etc. are mapped into uDDS QualityOfService.
Following table summarize implementation status of quality of service policies.
Quality of Service
Policy | RxO | Remarks | |
---|---|---|---|
USER_DATA | ![]() |
||
TOPIC_DATA | ![]() |
||
GROUP_DATA | ![]() |
||
DURABILITY | ![]() |
RxO | uDDS supports only VOLATILE and TRANSIENT_LOCAL kinds |
DURABILITY_SERVICE | ![]() |
Not implemented | |
PRESENTATION | ![]() |
RxO | Partly implemented. uDDS has limited support for coherent sets with access_scope kinds INSTANCE and TOPIC. uDDS makes sure that each coherent set arriving from a single writer will be added into readers history cache atomically. I.e. only after coherent set has been fully received. |
DEADLINE | ![]() |
RxO | |
LATENCY_BUDGET | ![]() |
RxO | Not implemented. This is considered as a hint to service. |
OWNERSHIP | ![]() |
||
OWNERSHIP_STRENGTH | ![]() |
||
LIVELINESS | ![]() |
RxO | |
TIME_BASED_FILTER | ![]() |
||
PARTITION | ![]() |
uDDS allows both reader and writer to have regular expressions in partition names. | |
RELIABILITY | ![]() |
RxO | Simple testing ok |
TRANSPORT_PRIORITY | ![]() |
Not implemented. This is considered as a hint to service. | |
LIFESPAN | ![]() |
uDDS writer does not check if all the readers have received a sample that has expired, which makes writer not strictly reliable if using this policy. | |
DESTINATION_ORDER | ![]() |
RxO | |
HISTORY | ![]() |
uDDS writer does not block if using KEEP_ALL kind | |
RESOURCE_LIMITS | ![]() |
uDDS does not have listeners on readers for violations of RESOURCE_LIMITS. I.e. SampleRejected status is not updated. | |
ENTITY_FACTORY | ![]() |
Not implemented. Behaves as autoenableCreatedEntities=true | |
WRITER_DATA_LIFECYCLE | ![]() |
Simple testing ok | |
READER_DATA_LIFECYCLE | ![]() |
Not implemented. Delays considered infinite. | |
DATA_REPRESENTATION | ![]() |
RxO | This policy is defined in X-Types. Only XCDR_DATA_REPRESENTATION kind is supported. |
TYPE_CONSISTENCY_ENFORCEMENT | ![]() |
RxO | This policy is defined in X-Types. X-Types documentation specifies DISALLOW_TYPE_COERCION and ALLOW_TYPE_COERCION kinds, whereas java API specifies EXACT_TYPE_TYPE_CONSISTENCY, EXACT_NAME_TYPE_CONSISTENCY, DECLARED_TYPE_CONSISTENCY, ASSIGNABLE_TYPE_CONSISTENCY |