44.7 TRANSPORT_BUILTIN QosPolicy (DDS Extension)

Connext comes with three different transport plugins built into the core libraries (for most supported target platforms). These are plugins for UDPv4, shared memory (SHMEM), and UDPv6. (If you've installed RTI Real-Time WAN Transport, UDPv4_WAN is also available.)

This QosPolicy allows you to control which builtin 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.

This QoS Policy contains the member in Table 44.8 DDS_TransportBuiltinQosPolicy. For the default and valid values, please refer to the API Reference HTML documentation (select Modules, RTI Connext API Reference, QoS Policies, TRANSPORT_BUILTIN).

Table 44.8 DDS_TransportBuiltinQosPolicy

Type

Field Name

Description

DDS_TransportBuiltinKindMask

mask

A mask with bits that indicate which builtin transports will be installed. Three different transport plug-ins are built into the core Connext libraries (for most supported target platforms): SHMEM, UDPv4, and UDPv6. (If you've installed 52. RTI Real-Time WAN Transport, UDPv4_WAN is also available.)

By default, the mask is set to SHMEM | UDPv4. Transports that are not in the mask will be disabled. MASK_NONE disables all the builtin transports.

You can set the mask programmatically or via XML. For example, programmatically:

participant_qos.transport_builtin.mask = DDS_TRANSPORTBUILTIN_UDPv4 | DDS_TRANSPORTBUILTIN_SHMEM;

Via XML, you can use the <transport_builtin> tags. For example:

<domain_participant_qos>
    <transport_builtin>
        <mask>UDPv4</mask>
    </transport_builtin>
</domain_participant_qos>

In XML only, you can additionally configure the builtin transport properties, such as <message_size_max>. See 50.4.6 Transport Properties.

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

44.7.1 Example

See 44.7.5 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.

44.7.2 Properties

This QosPolicy cannot be modified after the DomainParticipant is created.

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

44.7.3 Related QosPolicies

44.7.4 Applicable DDS Entities

44.7.5 System Resource Considerations

You can save memory and other system resources if you disable the builtin 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.