RTI Connext DDS Micro  Version 2.4.6
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
INTRA Transport

This user-guide explains how the built-in INTRA transport works.

Overview

The built-in intra participant transport (INTRA) is a transport that bypasses RTPS and reduces the number of data-copies from three to one for data published by a data-writer to a data-reader within the same participant. When a sample is published it is copied directly to the data reader’s cache (if there is space). This transport is used for communication between data-readers and data-writers created within the same participant by default.

Please refer to Threading Model for important details regarding application constraints when using this transport.

Registering the INTRA Transport

The built-in INTRA transport is a RTI Connext DDS Micro component that is automatically registered when the DDS_DomainParticipantFactory_get_instance() method is called. By default, data published by a data-writer is sent to all data-readers within the same participant using the INTRA transport.

In order to prevent the INTRA transport from being used it is necessary to remove it as a transport and a user-data transport. The following code shows how to only use the builtin UDP transport for user-data.

struct DDS_DomainParticipantQos dp_qos =
REDA_StringSeq_set_maximum(&dp_qos.transports.enabled_transports,1);
REDA_StringSeq_set_length(&dp_qos.transports.enabled_transports,1);
*REDA_StringSeq_get_reference(&dp_qos.transports.enabled_transports,0) =
REDA_String_dup(NETIO_DEFAULT_UDP_NAME);
/* Use only unicast for user-data traffic. */
REDA_StringSeq_set_maximum(&dp_qos.user_traffic.enabled_transports,1);
REDA_StringSeq_set_length(&dp_qos.user_traffic.enabled_transports,1);
*REDA_StringSeq_get_reference(&dp_qos.user_traffic.enabled_transports,0) =
REDA_String_dup("_udp://");

Note that the INTRA transport is never used for discovery traffic internally. It is not possible to disable matching of data-readers and data-writers within the same participant.

Reliability and Durability

The Reliability and Durability Qos policies are not supported by the INTRA transport. However, by creating all the data-readers before the data-writers durability is not required.

Threading Model

The INTRA transport does not create any threads. Instead, a data-reader receives data over the INTRA transport in the context of the data-writer’s send thread.

This model has two important limitations:


RTI Connext DDS Micro Version 2.4.6 Copyright © Mon Jan 25 2016 Real-Time Innovations, Inc