You are here: Part 2: Core Concepts > Sending Data > DataWriter QosPolicies > DESTINATION_ORDER QosPolicy

DESTINATION_ORDER QosPolicy

When multiple DataWriters send data for the same topic, the order in which data from different DataWriters are received by the applications of different DataReaders may be different. Thus different DataReaders may not receive the same "last" value when DataWriters stop sending data.

This policy controls how each subscriber resolves the final value of a data instance that is written by multiple DataWriters (which may be associated with different Publishers) running on different nodes.

This QosPolicy can be used to create systems that have the property of "eventual consistency." Thus intermediate states across multiple applications may be inconsistent, but when DataWriters stop sending changes to the same topic, all applications will end up having the same state.

Each DDS sample includes two timestamps: a source timestamp and a destination timestamp. The source timestamp is recorded by the DataWriter application when the data was written. The destination timestamp is recorded by the DataReader application when the data was received.

This QoS includes the member in Table 40 .

Table 40 DDS_DestinationOrderQosPolicy

Type

Field Name

Description

DDS_Destination-OrderQosPolicyKind

kind

Can be either:

DDS_BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS

DDS_BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS

DDS_Duration_t

source_timestamp_tolerance

Allowed tolerance between source timestamps of consecutive DDS samples.

Only applies when kind (above) is DDS_BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS.

Each DataReader can set this QoS to:

Although you can set the DESTINATION_ORDER QosPolicy on Topics, its value can only be used to initialize the DESTINATION_ORDER QosPolicies of either a DataWriter or DataReader. It does not directly affect the operation of Connext DDS, see Setting Topic QosPolicies.

Properties

This QosPolicy cannot be modified after the Entity is enabled.

This QoS must be set compatibly between the DataWriter and the DataReader. The compatible combinations are shown in Table 41 .

Table 41 Valid Reader/Writer Combinations of DestinationOrder

Destination Order

DataReader requests:

BY_SOURCE

BY_RECEPTION

DataWriter offers:

BY_SOURCE

4

4

BY_RECEPTION

incompatible

4

If this QosPolicy is set incompatibly, the ON_OFFERED_INCOMPATIBLE_QOS and ON_REQUESTED_INCOMPATIBLE_QOS statuses will be modified and the corresponding Listeners called for the DataWriter and DataReader respectively.

Related QosPolicies

Applicable DDS Entities

System Resource Considerations

The use of this policy does not significantly impact the use of resources.

© 2015 RTI