RTI Connext .Net APIs
Version 5.0.0
|
Built-in transport plug-in using UDP/IPv6. More...
#include <managed_transport.h>
Built-in transport plug-in using UDP/IPv6.
This transport plugin uses UDPv6 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::UDPv6Transport_Property_t::unicast_enabled and ::DDS::UDPv6Transport_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 Connext can implicitly create this plugin and register it with the DDS::DomainParticipant if this transport is specified in the DDS::TransportBuiltinQosPolicy.
To specify the properties of the builtin UDPv6 transport that is implicitly registered, you can specify the predefined property names in DDS::PropertyQosPolicy associated with the DDS::DomainParticipant. (see UDPv6 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 that are set after the builtin transport is registered will be ignored. See Built-in Transport Plugins for details on when a builtin transport is registered.
The following table lists the predefined property names that can be set in DDS::PropertyQosPolicy of a DDS::DomainParticipant to configure the builtin UDPv6 transport plugin.
Property Name | Description |
---|---|
dds.transport.UDPv6.builtin.parent.address_bit_count | See ::DDS::Transport_Property_t::address_bit_count |
dds.transport.UDPv6.builtin.parent.properties_bitmap | See ::DDS::Transport_Property_t::properties_bitmap |
dds.transport.UDPv6.builtin.parent.gather_send_buffer_count_max | See ::DDS::Transport_Property_t::gather_send_buffer_count_max |
dds.transport.UDPv6.builtin.parent.message_size_max | See ::DDS::Transport_Property_t::message_size_max |
dds.transport.UDPv6.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.UDPv6.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.UDPv6.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.UDPv6.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.UDPv6.builtin.send_socket_buffer_size | See ::DDS::UDPv6Transport_Property_t::send_socket_buffer_size |
dds.transport.UDPv6.builtin.recv_socket_buffer_size | See ::DDS::UDPv6Transport_Property_t::recv_socket_buffer_size |
dds.transport.UDPv6.builtin.unicast_enabled | See ::DDS::UDPv6Transport_Property_t::unicast_enabled |
dds.transport.UDPv6.builtin.multicast_enabled | See ::DDS::UDPv6Transport_Property_t::multicast_enabled |
dds.transport.UDPv6.builtin.multicast_ttl | See ::DDS::UDPv6Transport_Property_t::multicast_ttl |
dds.transport.UDPv6.builtin.multicast_loopback_disabled | See ::DDS::UDPv6Transport_Property_t::multicast_loopback_disabled |
dds.transport.UDPv6.builtin.ignore_loopback_interface | See ::DDS::UDPv6Transport_Property_t::ignore_loopback_interface |
dds.transport.UDPv6.builtin.ignore_nonrunning_interfaces | See ::DDS::UDPv6Transport_Property_t::ignore_nonrunning_interfaces |
dds.transport.UDPv6.builtin.no_zero_copy | See ::DDS::UDPv6Transport_Property_t::no_zero_copy |
dds.transport.UDPv6.builtin.send_blocking | See ::DDS::UDPv6Transport_Property_t::send_blocking |
dds.transport.UDPv6.builtin.enable_v4mapped | See ::DDS::UDPv6Transport_Property_t::enable_v4mapped |
dds.transport.UDPv6.builtin.transport_priority_mask | See ::DDS::UDPv6Transport_Property_t::transport_priority_mask |
dds.transport.UDPv6.builtin.transport_priority_mapping_low | See ::DDS::UDPv6Transport_Property_t::transport_priority_mapping_low |
dds.transport.UDPv6.builtin.transport_priority_mapping_high | See ::DDS::UDPv6Transport_Property_t::transport_priority_mapping_high |