RTI Connext C API Version 7.4.0
DDS_TransportMulticastQosPolicy Struct Reference

<<extension>> Specifies the multicast address on which a DDS_DataReader wants to receive its data. It can also specify a port number as well as a subset of the available (at the DDS_DomainParticipant level) transports with which to receive the multicast data. More...

Data Fields

struct DDS_TransportMulticastSettingsSeq value
 <<basic>> <<extension>> A sequence of multicast communications settings. More...
 
DDS_TransportMulticastQosPolicyKind kind
 <<extension>> A value that specifies a way to determine how to obtain the multicast address. More...
 

Detailed Description

<<extension>> Specifies the multicast address on which a DDS_DataReader wants to receive its data. It can also specify a port number as well as a subset of the available (at the DDS_DomainParticipant level) transports with which to receive the multicast data.

By default, a DDS_DataWriter will send individually addressed packets for each DDS_DataReader that subscribes to the topic of the DataWriter – this is known as unicast delivery. Thus, as many copies of the data will be sent over the network as there are DataReaders for the data. The network bandwidth used by a DataWriter will thus increase linearly with the number of DataReaders.

Multicast addressing (on UDP/IP transports) allows multiple DataReaders to receive the same network packet. By using multicast, a DDS_DataWriter can send a single network packet that is received by all subscribing applications. Thus the network bandwidth usage will be constant, independent of the number of DataReaders.

Coordinating the multicast address specified by DataReaders can help optimize network bandwidth usage in systems where there are multiple DataReaders for the same DDS_Topic.

Entity:
DDS_DataReader
Properties:
RxO = N/A
Changeable = NO

Field Documentation

◆ value

struct DDS_TransportMulticastSettingsSeq DDS_TransportMulticastQosPolicy::value

<<basic>> <<extension>> A sequence of multicast communications settings.

An empty sequence means that multicast is not used by the entity.

The RTPS wire protocol currently limits the maximum number of multicast locators to

  1. Note that this is a hard limit that cannot be increased. However, this limit can be decreased by configuring the 'dds.domain_participant.max_announced_locator_list_size' property in the DDS_PropertyQosPolicy associated with the DDS_DomainParticipantQos.

[default] Empty sequence.

Categories
Immutable, Transports, Discovery Metadata

◆ kind

DDS_TransportMulticastQosPolicyKind DDS_TransportMulticastQosPolicy::kind

<<extension>> A value that specifies a way to determine how to obtain the multicast address.

This field can be set to one of the following two values: DDS_AUTOMATIC_TRANSPORT_MULTICAST_QOS or DDS_UNICAST_ONLY_TRANSPORT_MULTICAST_QOS.

[default] DDS_AUTOMATIC_TRANSPORT_MULTICAST_QOS

Categories
Immutable, Transports, Data Availability