OpenSplice C# API  v6.x
OpenSplice C# Data Distribution Service Data-Centric Publish-Subscribe API
DDS.ReliabilityQosPolicy Struct Reference

More...

Collaboration diagram for DDS.ReliabilityQosPolicy:
Collaboration graph

Public Attributes

ReliabilityQosPolicyKind Kind
 
Duration MaxBlockingTime
 
bool synchronous
 

Detailed Description

This QosPolicy controls the level of reliability of the data distribution offered or requested by the DataWriters and DataReaders.

Attributes

Value Meaning Concerns RxO Changeable
A ReliabilityQosPolicyKind:
kind
Specifies the type of reliability which may be BEST_EFFORT or RELIABLE, the default is BEST_EFFORT Topic, DataReader, DataWriter Yes No
RELIABLE Specifies the Service will attempt to deliver all samples in its history. Missed samples may be retried. In steady-state (no modifications communicated via the DataWriter) the middleware guarantees that all samples in the DataWriter history will eventually be delivered to all the DataReader objects. Outside steady state the HISTORY and RESOURCE_LIMITS policies will determine how samples become part of the history and whether samples can be discarded from it. This is the default value for DataWriters.
BEST_EFFORT Indicates that it is acceptable to not retry propagation of any samples. Presumably new values for the samples are generated often enough that it is not necessary to re-send or acknowledge any samples. This is the default value for DataReaders and Topics.
A duration:
max_blocking_time
The value of the max_blocking_time indicates the maximum time the operation DataWriter write is allowed to block if the DataWriter does not have space to store the value written. The default max_blocking_time=100ms.
A boolean:
synchronous
Specifies whether a DataWriter should wait for acknowledgements by all connected DataReaders that also have set a synchronous ReliabilityQosPolicy.
It is advised only to use this policy in combination with reliability, if used in combination with best effort data may not arrive at the DataReader resulting in a timeout at the DataWriter indicating that the data has not been received. Acknoledgments are always sent reliable so when the DataWriter encounters a timeout it is guaranteed that the DataReader hasn't received the data.
Note: The synchronous option is an OpenSplice specific QoS!
DataReader, DataWriter No No

This policy indicates the level of reliability requested by a DataReader or offered by a DataWriter. These levels are ordered, BEST_EFFORT being lower than RELIABLE. A DataWriter offering a level is implicitly offering all levels below.

The setting of this policy has a dependency on the setting of the RESOURCE_LIMITS policy. In case the RELIABILITY kind is set to RELIABLE the write operation on the DataWriter may block if the modification would cause data to be lost or else cause one of the limits specified in the RESOURCE_LIMITS to be exceeded. Under these circumstances, the RELIABILITY max_blocking_time configures the maximum duration the write operation may block.

If the RELIABILITY kind is set to RELIABLE, data-samples originating from a single DataWriter cannot be made available to the DataReader if there are previous data-samples that have not been received yet due to a communication error. In other words, the service will repair the error and re-transmit data-samples as needed in order to reconstruct a correct snapshot of the DataWriter history before it is accessible by the DataReader.

If the RELIABILITY kind is set to BEST_EFFORT, the service will not re-transmit missing data-samples. However for data-samples originating from any one DataWriter the service will ensure they are stored in the DataReader history in the same order they originated in the DataWriter. In other words, the DataReader may miss some data-samples but it will never see the value of a data-object change from a newer value to an order value.

The value offered is considered compatible with the value requested if and only if the inequality "offered kind >= requested kind" evaluates to 'TRUE' For the purposes of this inequality, the values of RELIABILITY kind are considered ordered such that BEST_EFFORT < RELIABLE.

This QoS plays a role within the scope of Eventual Consistency

Definition at line 1347 of file DdsDcpsStructs.cs.

Member Data Documentation

◆ Kind

ReliabilityQosPolicyKind DDS.ReliabilityQosPolicy.Kind

Definition at line 1349 of file DdsDcpsStructs.cs.

◆ MaxBlockingTime

Duration DDS.ReliabilityQosPolicy.MaxBlockingTime

Definition at line 1350 of file DdsDcpsStructs.cs.

◆ synchronous

bool DDS.ReliabilityQosPolicy.synchronous
Note
Proprietary policy attribute.

Specifies whether a DataWriter should wait for acknowledgements by all connected DataReaders that also have set a synchronous Reliability QosPolicy.

Definition at line 1358 of file DdsDcpsStructs.cs.


The documentation for this struct was generated from the following file: