DDS_AvailabilityQosPolicy Struct Reference
[AVAILABILITY]

Configures the availability of data. More...

List of all members.

Public Attributes

struct DDS_Duration_t max_data_availability_waiting_time
 Defines how much time to wait before delivering a sample to the application without having received some of the previous samples.
struct DDS_Duration_t max_endpoint_availability_waiting_time
 Defines how much time to wait to discover DataWriters providing samples for the same data source (virtual GUID).
struct DDS_EndpointGroupSeq required_matched_endpoint_groups
 A sequence of endpoint groups.


Detailed Description

Configures the availability of data.

Entity:
DDSDataReader
Properties:
RxO = NO
Changeable = NO

Usage

This QoS policy is used in the context of the Collaborative DataWriters feature.

Collaborative DataWriters

The Collaborative DataWriters feature allows having multiple DataWriters publishing samples from a common logical data source. The DataReaders will combine the samples coming from the DataWriters in order to reconstruct the correct order at the source

This QoS policy allows you to configure the ordering and combination process in the DataReader and can be used to support two different use cases:

Each sample published in a DDS domain for a given logical data source is uniquely identified by a pair (virtual GUID, virtual sequence number). Samples from the same data source (same virtual GUID) can be published by different DataWriters. A DataReader will deliver a sample (VGUIDn, VSNm) to the application if one of the following conditions is satisfied:

A DataWriter announces potential availability of samples by using virtual heartbeats (HBs).

When DDS_PresentationQosPolicy::access_scope is set to DDS_TOPIC_PRESENTATION_QOS or DDS_INSTANCE_PRESENTATION_QOS, the virtual HB contains information about the samples contained in the DDSDataWriter history.

When DDS_PresentationQosPolicy::access_scope is set to DDS_GROUP_PRESENTATION_QOS, the virtual HB contains information about all DataWriters in the DDSPublisher.

The frequency at which virtual HBs are sent is controlled by the protocol parameters DDS_RtpsReliableWriterProtocol_t::virtual_heartbeat_period and DDS_RtpsReliableWriterProtocol_t::samples_per_virtual_heartbeat.


Member Data Documentation

Defines how much time to wait before delivering a sample to the application without having received some of the previous samples.

A sample identified by (GUIDn, SNm) will be delivered to the application if this timeout expires for the sample and the following two conditions are satisfied:

[default] DDS_DURATION_AUTO (DDS_DURATION_INFINITE for DDS_GROUP_PRESENTATION_QOS. Otherwise, 0 seconds)

[range] [0, DDS_DURATION_INFINITE], DDS_DURATION_AUTO

Defines how much time to wait to discover DataWriters providing samples for the same data source (virtual GUID).

The set of endpoint groups that are required to provide samples for a data source can be configured using required_matched_endpoint_groups.

A non-consecutive sample identified by (GUIDn, SNm) cannot be delivered to the application unless DataWriters for all the endpoint groups in required_matched_endpoint_groups are discovered or this timeout expires.

[default] DDS_DURATION_AUTO (DDS_DURATION_INFINITE for DDS_GROUP_PRESENTATION_QOS. Otherwise, 0 seconds)

[range] [0, DDS_DURATION_INFINITE], DDS_DURATION_AUTO

A sequence of endpoint groups.

In the context of Collaborative DataWriters, it specifies the set of endpoint groups that are expected to provide samples for the same data source.

The quorum count in a group represents the number of DataWriters that must be discovered for that group before the DataReader is allowed to provide non consecutive samples to the application.

A DataWriter becomes a member of an endpoint group by configuring the role_name in DDS_DataWriterQos::publication_name.

[default] Empty sequence


RTI Data Distribution Service C++ API Version 4.5e Copyright © 23 Oct 2011 Real-Time Innovations, Inc