RTI Connext Modern C++ API  Version 5.3.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
rti::core::ChannelSettings Class Reference

<<extension>> Configures the properties of a channel in rti::core::policy::MultiChannel More...

#include <rti/core/policy/CorePolicy.hpp>

Public Member Functions

 ChannelSettings (const TransportMulticastSettingsSeq &the_multicast_settings, const std::string &the_filter_expression, int32_t the_priority)
 Creates an instance with the specified multicast settings, filter expression and priority.
 
ChannelSettingsmulticast_settings (const TransportMulticastSettingsSeq &the_multicast_settings)
 A sequence of rti::core::TransportMulticastSettings used to configure the multicast addresses associated with a channel.
 
TransportMulticastSettingsSeq multicast_settings () const
 Getter (see the setter with the same name)
 
ChannelSettingsfilter_expression (const std::string &the_filter_expression)
 A logical expression used to determine the data that will be published in the channel.
 
std::string filter_expression () const
 Getter (see the setter with the same name)
 
ChannelSettingspriority (int32_t the_priority)
 Publication priority.
 
int32_t priority () const
 Getter (see the setter with the same name)
 

Detailed Description

Constructor & Destructor Documentation

rti::core::ChannelSettings::ChannelSettings ( const TransportMulticastSettingsSeq the_multicast_settings,
const std::string &  the_filter_expression,
int32_t  the_priority 
)
inline

Creates an instance with the specified multicast settings, filter expression and priority.

See individual setters.

Member Function Documentation

ChannelSettings& rti::core::ChannelSettings::multicast_settings ( const TransportMulticastSettingsSeq the_multicast_settings)

A sequence of rti::core::TransportMulticastSettings 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 rti::core::policy::Property associated with the dds::domain::qos::DomainParticipantQos.

[default] Empty sequence (invalid value)

TransportMulticastSettingsSeq rti::core::ChannelSettings::multicast_settings ( ) const

Getter (see the setter with the same name)

ChannelSettings& rti::core::ChannelSettings::filter_expression ( const std::string &  the_filter_expression)
inline

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.

The syntax of the expression will depend on the value of rti::core::policy::MultiChannel::filter_name

The filter expression length (including NULL-terminated character) cannot be greater than rti::core::policy::DomainParticipantResourceLimits::channel_filter_expression_max_length.

See Also
Queries and Filters Syntax

[default] NULL (invalid value)

std::string rti::core::ChannelSettings::filter_expression ( ) const
inline

Getter (see the setter with the same name)

ChannelSettings& rti::core::ChannelSettings::priority ( int32_t  the_priority)
inline

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 (rti::core::policy::PublishModeKind_def::ASYNCHRONOUS) with rti::pub::FlowControllerProperty::scheduling_policy set to FlowControllerSchedulingPolicy_def::HIGHEST_PRIORITY_FIRST.

Larger numbers have higher priority.

If the publication priority of the channel is any value other than 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 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 PUBLICATION_PRIORITY_UNDEFINED, the channel will be assigned the lowest priority value.

If the publication priority of the channel is 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 rti::pub::WriteParams of the dds::pub::DataWriter::write(const T&,rti::pub::WriteParams&) function.

[default] PUBLICATION_PRIORITY_UNDEFINED

int32_t rti::core::ChannelSettings::priority ( ) const
inline

Getter (see the setter with the same name)


RTI Connext Modern C++ API Version 5.3.1 Copyright © Mon Feb 19 2018 Real-Time Innovations, Inc