RTI Connext .NET API (legacy)  Version 6.1.1
DDS::UDPv4Transport Interface Reference

Transport plug-in using UDP/IPv4. More...

#include <managed_transport.h>

Detailed Description

Transport plug-in using UDP/IPv4.

This transport plugin uses UDPv4 sockets to send and receive messages. It supports both unicast and multicast communications in a single instance of the plugin. By default, this plugin will use all interfaces that it finds enabled and "UP" at instantiation time to send and receive messages.

You can configure an instance of this plugin to only use unicast or only use multicast, see "dds.transport.UDPv4.builtin.unicast_enabled" and "dds.transport.UDPv4.builtin.multicast_enabled".

In addition, you can configure an instance of this plugin to selectively use the network interfaces of a node (and restrict a plugin from sending multicast messages on specific interfaces) by specifying the "white" and "black" lists in the base property's fields ("<TRANSPORT_PREFIX>.parent.allow_interfaces", "<TRANSPORT_PREFIX>.parent.deny_interfaces", "<TRANSPORT_PREFIX>.parent.allow_multicast_interfaces", "<TRANSPORT_PREFIX>.parent.deny_multicast_interfaces").

RTI Connext can implicitly create this plugin and register with the DDS::DomainParticipant if this transport is specified in DDS::TransportBuiltinQosPolicy.

To specify the properties of the builtin UDPv4 transport that is implicitly registered, you can specify the predefined property names in DDS::PropertyQosPolicy associated with the DDS::DomainParticipant. (see UDPv4 Transport Property Names in Property QoS Policy of Domain Participant). The default value is assumed on any unspecified property.

Note that all properties should be set before the transport is implicitly created and registered by RTI Connext. Any properties set after the builtin transport is registered will be ignored. See Built-in Transport Plugins for details on when a builtin transport is registered.

UDPv4 Transport Property Names in Property QoS Policy of Domain Participant

The following table lists the predefined property names that can be set in the DomainParticipantQos::property_qos to configure the builtin UDPv4 transport plugin.

Property Names for UDPv4 Transport Plugin
Property Name

Description

dds.transport.UDPv4.builtin.parent.classid See "<TRANSPORT_PREFIX>.parent.classid"
dds.transport.UDPv4.builtin.parent.address_bit_count See "<TRANSPORT_PREFIX>.parent.address_bit_count"
dds.transport.UDPv4.builtin.parent.properties_bitmap See "<TRANSPORT_PREFIX>.parent.properties_bitmap"
dds.transport.UDPv4.builtin.parent.gather_send_buffer_count_max See "<TRANSPORT_PREFIX>.parent.gather_send_buffer_count_max"
dds.transport.UDPv4.builtin.parent.message_size_max See "<TRANSPORT_PREFIX>.parent.message_size_max"
dds.transport.UDPv4.builtin.parent.allow_interfaces See "<TRANSPORT_PREFIX>.parent.allow_interfaces".
Interfaces should be specified as comma-separated strings, with each comma delimiting an interface. For example, 127.0.0.1,eth0
dds.transport.UDPv4.builtin.parent.deny_interfaces See "<TRANSPORT_PREFIX>.parent.deny_interfaces".
Interfaces should be specified as comma-separated strings, with each comma delimiting an interface. For example: 127.0.0.1,eth0
dds.transport.UDPv4.builtin.parent.allow_multicast_interfaces See "<TRANSPORT_PREFIX>.parent.allow_multicast_interfaces".
Interfaces should be specified as comma-separated strings, with each comma delimiting an interface. For example: 127.0.0.1,eth0
dds.transport.UDPv4.builtin.parent.deny_multicast_interfaces See "<TRANSPORT_PREFIX>.parent.deny_multicast_interfaces".
Interfaces should be specified as comma-separated strings, with each comma delimiting an interface. For example: 127.0.0.1,eth0
dds.transport.UDPv4.builtin.parent.thread_name_prefix See "<TRANSPORT_PREFIX>.parent.thread_name_prefix"
dds.transport.UDPv4.builtin.send_socket_buffer_size See "dds.transport.UDPv4.builtin.send_socket_buffer_size"
dds.transport.UDPv4.builtin.recv_socket_buffer_size See "dds.transport.UDPv4.builtin.recv_socket_buffer_size"
dds.transport.UDPv4.builtin.unicast_enabled See "dds.transport.UDPv4.builtin.unicast_enabled"
dds.transport.UDPv4.builtin.multicast_enabled See "dds.transport.UDPv4.builtin.multicast_enabled"
dds.transport.UDPv4.builtin.multicast_ttl See "dds.transport.UDPv4.builtin.multicast_ttl"
dds.transport.UDPv4.builtin.multicast_loopback_disabled See "dds.transport.UDPv4.builtin.multicast_loopback_disabled"
dds.transport.UDPv4.builtin.ignore_loopback_interface See "dds.transport.UDPv4.builtin.ignore_loopback_interface"
dds.transport.UDPv4.builtin.ignore_nonrunning_interfaces See "dds.transport.UDPv4.builtin.ignore_nonrunning_interfaces"
dds.transport.UDPv4.builtin.ignore_nonup_interfaces [DEPRECATED] See "dds.transport.UDPv4.builtin.ignore_nonup_interfaces"
dds.transport.UDPv4.builtin.no_zero_copy [DEPRECATED] See "dds.transport.UDPv4.builtin.no_zero_copy"
dds.transport.UDPv4.builtin.send_blocking See "dds.transport.UDPv4.builtin.send_blocking"
dds.transport.UDPv4.builtin.transport_priority_mask See "dds.transport.UDPv4.builtin.transport_priority_mask"
dds.transport.UDPv4.builtin.transport_priority_mapping_low See "dds.transport.UDPv4.builtin.transport_priority_mapping_low"
dds.transport.UDPv4.builtin.transport_priority_mapping_high See "dds.transport.UDPv4.builtin.transport_priority_mapping_high"
dds.transport.UDPv4.builtin.send_ping See "dds.transport.UDPv4.builtin.send_ping"
dds.transport.UDPv4.builtin.force_interface_poll_detection See "dds.transport.UDPv4.builtin.force_interface_poll_detection"
dds.transport.UDPv4.builtin.interface_poll_period See "dds.transport.UDPv4.builtin.interface_poll_period"
dds.transport.UDPv4.builtin.reuse_multicast_receive_resource See "dds.transport.UDPv4.builtin.reuse_multicast_receive_resource"
dds.transport.UDPv4.builtin.protocol_overhead_max See "dds.transport.UDPv4.builtin.protocol_overhead_max"
dds.transport.UDPv4.builtin.disable_interface_tracking See "dds.transport.UDPv4.builtin.disable_interface_tracking"
dds.transport.UDPv4.builtin.public_address See "dds.transport.UDPv4.builtin.public_address"
dds.transport.UDPv4.builtin.join_multicast_group_timeout

See "dds.transport.UDPv4.builtin.join_multicast_group_timeout"