DDS::UDPv4Transport Interface Reference
[Built-in Transport Plugins]

Built-in transport plug-in using UDP/IPv4. More...

#include <managed_transport.h>


Detailed Description

Built-in 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.

The user can configure an instance of this plugin to only use unicast or only use multicast, see DDS::UDPv4Transport_Property_t::unicast_enabled and DDS::UDPv4Transport_Property_t::multicast_enabled.

In addition, the user 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 (DDS::Transport_Property_t::allow_interfaces_list, DDS::Transport_Property_t::deny_interfaces_list, DDS::Transport_Property_t::allow_multicast_interfaces_list, DDS::Transport_Property_t::deny_multicast_interfaces_list).

RTI Data Distribution Service 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 either:

Builtin transport plugin properties specified in DDS::PropertyQosPolicy always overwrite the ones specified through DDS::Transport_Support::set_builtin_transport_property(). 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 Data Distribution Service. 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 DDS::PropertyQosPolicy of a DDS::DomainParticipant to configure the builtin UDPv4 transport plugin.

Property Names for UDPv4 Transport Plugin
Property Name Description

dds.transport.UDPv4.builtin.parent.address_bit_count See DDS::Transport_Property_t::address_bit_count
dds.transport.UDPv4.builtin.parent.properties_bitmap See DDS::Transport_Property_t::properties_bitmap
dds.transport.UDPv4.builtin.parent.gather_send_buffer_count_max See DDS::Transport_Property_t::gather_send_buffer_count_max
dds.transport.UDPv4.builtin.parent.message_size_max See DDS::Transport_Property_t::message_size_max
dds.transport.UDPv4.builtin.parent.allow_interfaces See DDS::Transport_Property_t::allow_interfaces_list and DDS::Transport_Property_t::allow_interfaces_list_length.
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 DDS::Transport_Property_t::deny_interfaces_list and DDS::Transport_Property_t::deny_interfaces_list_length.
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 DDS::Transport_Property_t::allow_multicast_interfaces_list and DDS::Transport_Property_t::allow_multicast_interfaces_list_length.
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 DDS::Transport_Property_t::deny_multicast_interfaces_list and DDS::Transport_Property_t::deny_multicast_interfaces_list_length. 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.send_socket_buffer_size See DDS::UDPv4Transport_Property_t::send_socket_buffer_size
dds.transport.UDPv4.builtin.recv_socket_buffer_size See DDS::UDPv4Transport_Property_t::recv_socket_buffer_size
dds.transport.UDPv4.builtin.unicast_enabled See DDS::UDPv4Transport_Property_t::unicast_enabled
dds.transport.UDPv4.builtin.multicast_enabled See DDS::UDPv4Transport_Property_t::multicast_enabled
dds.transport.UDPv4.builtin.multicast_ttl See DDS::UDPv4Transport_Property_t::multicast_ttl
dds.transport.UDPv4.builtin.multicast_loopback_disabled See DDS::UDPv4Transport_Property_t::multicast_loopback_disabled
dds.transport.UDPv4.builtin.ignore_loopback_interface See DDS::UDPv4Transport_Property_t::ignore_loopback_interface
dds.transport.UDPv4.builtin.ignore_nonrunning_interfaces See DDS::UDPv4Transport_Property_t::ignore_nonrunning_interfaces
dds.transport.UDPv4.builtin.no_zero_copy See DDS::UDPv4Transport_Property_t::no_zero_copy
dds.transport.UDPv4.builtin.send_blocking See DDS::UDPv4Transport_Property_t::send_blocking
dds.transport.UDPv4.builtin.transport_priority_mask See DDS::UDPv4Transport_Property_t::transport_priority_mask
dds.transport.UDPv4.builtin.transport_priority_mapping_low See DDS::UDPv4Transport_Property_t::transport_priority_mapping_low
dds.transport.UDPv4.builtin.transport_priority_mapping_high See DDS::UDPv4Transport_Property_t::transport_priority_mapping_high

See also:
DDS::Transport_Support::set_builtin_transport_property()

RTI Data Distribution Service .Net APIs Version 4.5e Copyright © 23 Oct 2011 Real-Time Innovations, Inc