RTI Connext C API Version 7.3.0
DDS_DataRepresentationQosPolicy Struct Reference

This QoS policy contains a list of representation identifiers and compression settings used by DDS_DataWriter and DDS_DataReader entities to negotiate which data representation and compression settings to use. More...

Data Fields

struct DDS_DataRepresentationIdSeq value
 Sequence of representation identifiers. More...
 
struct DDS_CompressionSettings_t compression_settings
 <<extension>> Structure that contains the compression settings. More...
 

Detailed Description

This QoS policy contains a list of representation identifiers and compression settings used by DDS_DataWriter and DDS_DataReader entities to negotiate which data representation and compression settings to use.

Entity:
DDS_Topic, DDS_DataReader, DDS_DataWriter
Status:
DDS_OFFERED_INCOMPATIBLE_QOS_STATUS, DDS_REQUESTED_INCOMPATIBLE_QOS_STATUS
Properties:
RxO = YES
Changeable = UNTIL ENABLE
See also
DATA_REPRESENTATION

This policy has request-offer semantics for both representation and compression. For representation, a DDS_DataWriter may only offer a single representation. Attempting to put multiple representations in a DDS_DataWriter will result in DDS_RETCODE_INCONSISTENT_POLICY. A DDS_DataWriter will use its offered policy to communicate with its matched DDS_DataReader entities. A DDS_DataReader requests one or more representations. If a DDS_DataWriter offers a representation that is contained within the sequence of the DDS_DataReader, the offer satisfies the request and the policies are compatible. Otherwise, they are incompatible.

When representations are specified in the DDS_TopicQos, DDS_Publisher_copy_from_topic_qos copies the first element of the sequence, and DDS_Subscriber_copy_from_topic_qos copies the whole sequence.

For Compression, only the DDS_CompressionSettings_t::compression_ids is propagated and a DDS_DataWriter may only offer a single compression id. Attempting to put multiple compression_ids in a DDS_DataWriter will result in DDS_RETCODE_INCONSISTENT_POLICY.

A DDS_DataWriter will use its offered compression algorithm to compress data that it sends to its matched DDS_DataReader entities. A DDS_DataReader requests zero or more compression algorithms. If a DDS_DataWriter offers a representation that is contained within the algorithms requested by the DDS_DataReader, the offer satisfies the request and the policies are compatible. Otherwise, they are incompatible.

When compression IDs are specified in the DDS_TopicQos, DDS_Publisher_copy_from_topic_qos copies a single compression ID (see DDS_CompressionSettings_t::compression_ids), and DDS_Subscriber_copy_from_topic_qos copies all of the compression_ids.

Field Documentation

◆ value

struct DDS_DataRepresentationIdSeq DDS_DataRepresentationQosPolicy::value

Sequence of representation identifiers.

[default] For DDS_Topic, DDS_DataWriter, and DDS_DataReader, a list with one element: DDS_AUTO_DATA_REPRESENTATION.

Note
An empty sequence is equivalent to a list with one element: DDS_XCDR_DATA_REPRESENTATION.

◆ compression_settings

struct DDS_CompressionSettings_t DDS_DataRepresentationQosPolicy::compression_settings

<<extension>> Structure that contains the compression settings.

compression_ids:
[default] The value depends on the entity
DDS_DataWriter and DDS_Topic are set to DDS_COMPRESSION_ID_MASK_NONE
DDS_DataReader DDS_COMPRESSION_ID_MASK_ALL

writer_compression_level:
[default] The value depends on the entity
DDS_DataWriter and DDS_Topic are set to DDS_COMPRESSION_LEVEL_DEFAULT
DDS_DataReader NOT SUPPORTED

writer_compression_threshold:
[default] The value depends on the entity
DDS_DataWriter and DDS_Topic are set to DDS_COMPRESSION_THRESHOLD_DEFAULT
DDS_DataReader NOT SUPPORTED

See also
DDS_CompressionSettings_t