RTI Connext C API  Version 6.1.0
DDS_ChannelSettings_t Struct Reference

Type used to configure the properties of a channel. More...

Data Fields

struct DDS_TransportMulticastSettingsSeq multicast_settings
 A sequence of DDS_TransportMulticastSettings_t used to configure the multicast addresses associated with a channel. More...
 
char * filter_expression
 A logical expression used to determine the data that will be published in the channel. More...
 
DDS_Long priority
 Publication priority. More...
 

Detailed Description

Type used to configure the properties of a channel.

QoS:
DDS_MultiChannelQosPolicy

Field Documentation

◆ multicast_settings

struct DDS_TransportMulticastSettingsSeq DDS_ChannelSettings_t::multicast_settings

A sequence of DDS_TransportMulticastSettings_t used to configure the multicast addresses associated with a channel.

The sequence cannot be empty.

The maximum number of multicast locators in a channel is limited to 16 (a locator is defined by a transport alias, a multicast address and a port). 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 (invalid value)

◆ filter_expression

char* DDS_ChannelSettings_t::filter_expression

A logical expression used to determine the data that will be published in the channel.

If the expression evaluates to TRUE, a sample will be published on the channel.

An empty string always evaluates the expression to TRUE.

A NULL value is not allowed.

The syntax of the expression will depend on the value of DDS_MultiChannelQosPolicy::filter_name

Important: This value must be an allocated string with DDS_String_alloc or DDS_String_dup. It should not be assigned to a string constant.

The filter expression length (including NULL-terminated character) cannot be greater than DDS_DomainParticipantResourceLimitsQosPolicy::channel_filter_expression_max_length.

See also
Queries and Filters Syntax

[default] NULL (invalid value)

◆ priority

DDS_Long DDS_ChannelSettings_t::priority

Publication priority.

A positive integer value designating the relative priority of the channel, used to determine the transmission order of pending writes.

Use of publication priorities requires the asynchronous publisher (DDS_ASYNCHRONOUS_PUBLISH_MODE_QOS) with DDS_FlowControllerProperty_t::scheduling_policy set to DDS_HPF_FLOW_CONTROLLER_SCHED_POLICY.

Larger numbers have higher priority.

If the publication priority of the channel is any value other than DDS_PUBLICATION_PRIORITY_UNDEFINED, then the channel's priority will take precedence over the data writer's priority.

If the publication priority of the channel is set to DDS_PUBLICATION_PRIORITY_UNDEFINED, then the channel's priority will be set to the value of the data writer's priority.

If the publicaton priority of both the data writer and the channel are DDS_PUBLICATION_PRIORITY_UNDEFINED, the channel will be assigned the lowest priority value.

If the publication priority of the channel is DDS_PUBLICATION_PRIORITY_AUTOMATIC, then the channel will be assigned the priority of the largest publication priority of all samples in the channel. The publication priority of each sample can be set in the DDS_WriteParams_t of the FooDataWriter_write_w_params function.

[default] DDS_PUBLICATION_PRIORITY_UNDEFINED