You are here: Part 2: Core Concepts > Working with DDS Domains > DomainParticipant QosPolicies > TRANSPORT_BUILTIN QosPolicy (DDS Extension)

TRANSPORT_BUILTIN QosPolicy (DDS Extension)

Connext DDS comes with three different transport plugins built into the core libraries (for most supported target platforms). These are plugins for UDPv4, shared memory, and UDPv6.

This QosPolicy allows you to control which built-in transport plugins are used by a DomainParticipant. By default, only the UDPv4 and shared memory plugins are enabled (for most platforms; on some platforms, the shared memory plugin is not available). You can disable one or all of the builtin transports.

In some cases, users will disable the shared memory transport when they do not want applications to use shared memory to communicate when running on the same node.

If one application is configured to use UDPv4 and shared memory, while another application is only configured for UDPv4, and these two applications run on the same node, they will not communicate. This is due to an internal optimization which will default to use shared memory instead of loopback. However if the other peer application does not enable shared memory, there is no common transport; therefore they will not communicate.

It contains the member in Table 15 . For the default and valid values, please refer to the API Reference HTML documentation.

Table 15 DDS_TransportBuiltinQosPolicy

Type

Field Name

Description

DDS_TransportBuiltinKindMask

mask

A mask with bits that indicate which built-in transports will be installed.

Please see the API Reference HTML documentation (select Modules, RTI Connext DDS API Reference, Pluggable Transports, Using Transport Plugins and Built-in Transport Plugins) for more information.

Note: Currently, Connext DDS will only listen for discovery traffic on the first multicast address (element 0) in multicast_receive_addresses.

Example

See System Resource Considerations for an example of why you may want to use this QosPolicy.

In addition, customers may wish to install and use their own custom transport plugins instead of any of the builtin transports. In that case, this QosPolicy may be used to disable all builtin transports.

Properties

This QosPolicy cannot be modified after the DomainParticipant is created.

It can be set differently on the publishing and subscribing sides.

Related QosPolicies

Applicable DDS Entities

System Resource Considerations

You can save memory and other system resources if you disable the built-in transports that your application will not use. For example, if you only run a single application with a single DomainParticipant on each machine in your network, then you can disable the shared memory transport since your applications will never use it to send or receive messages.

© 2015 RTI