RTI Connext .NET API (legacy)  Version 6.1.1
DDS::DataRepresentationQosPolicy Class 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...

#include <managed_infrastructure.h>

Static Public Member Functions

static System::String ^ get_data_representation_qos_policy_name ()
 Stringified human-readable name for DDS::DataRepresentationQosPolicy. More...
 

Public Attributes

ShortSeqvalue
 Sequence of representation identifiers. More...
 
CompressionSettings_t compression_settings
 <<extension>> Structure that contains the compression settings. More...
 

Static Public Attributes

static System::Int16 XCDR_DATA_REPRESENTATION
 Corresponds to the Extended Common Data Representation encoding version 1. More...
 
static System::Int16 XML_DATA_REPRESENTATION
 Corresponds to the XML Data Representation (unsupported). More...
 
static System::Int16 XCDR2_DATA_REPRESENTATION
 Corresponds to the Extended Common Data Representation encoding version 2. More...
 
static System::Int16 AUTO_DATA_REPRESENTATION
 Representation is automatically chosen based on the type. 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:
OFFERED_INCOMPATIBLE_QOS_STATUS, 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_InconsistentPolicy. 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_InconsistentPolicy.

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.

Member Data Documentation

◆ value

ShortSeq ^ DDS::DataRepresentationQosPolicy::value

Sequence of representation identifiers.

[default] For DDS::Topic, DDS::DataWriter, and DDS::DataReader, a list with one element: DDS::DataRepresentationId_t::AUTO_DATA_REPRESENTATION.

Note
An empty sequence is equivalent to a list with one element: DDS::DataRepresentationId_t::XCDR_DATA_REPRESENTATION.

◆ compression_settings

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::CompressionSettings_t::COMPRESSION_ID_MASK_NONE
DDS::DataReader DDS::CompressionSettings_t::COMPRESSION_ID_MASK_ALL

writer_compression_level:
[default] The value depends on the entity
DDS::DataWriter and DDS::Topic are set to DDS::CompressionSettings_t::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::CompressionSettings_t::COMPRESSION_THRESHOLD_DEFAULT
DDS::DataReader NOT SUPPORTED

See also
DDS::CompressionSettings_t