RTI Connext C API Version 7.1.0
|
Transport plugins configuration with RTI Connext. More...
Data Structures | |
struct | NDDS_Transport_UUID |
Univocally identifies a transport plugin instance. More... | |
struct | TransportAllocationSettings_t |
Allocation settings used by various internal buffers. More... | |
struct | NDDS_Transport_Property_t |
Base configuration structure that must be inherited by derived Transport Plugin classes. More... | |
Macros | |
#define | NDDS_TRANSPORT_PORT_INVALID ((NDDS_Transport_Port_t) 0) |
Port 0 is considered to be invalid. More... | |
#define | NDDS_TRANSPORT_UUID_SIZE 12 |
Size of a NDDS_Transport_UUID. More... | |
#define | NDDS_TRANSPORT_LENGTH_UNLIMITED -1 |
Represent an unlimited length. More... | |
#define | NDDS_TRANSPORT_INTERFACE_RANK_UNKNOWN 0 |
Rank interface as unknown or not yet set. More... | |
#define | NDDS_TRANSPORT_UUID_UNKNOWN {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}} |
Value for UUIDs that have no known value. Used as default. More... | |
#define | NDDS_TRANSPORT_ALLOCATION_SETTINGS_MAX_COUNT_UNLIMITED (-1) |
The constant used as 'unlimited' for the 'max_count' field of the structure TransportAllocationSettings_t. More... | |
#define | NDDS_TRANSPORT_ALLOCATION_SETTINGS_INCREMENTAL_COUNT_AUTOMATIC (-1) |
The constant used as 'automatic' for the 'incremental_count' field of the structure TransportAllocationSettings_t. More... | |
#define | NDDS_TRANSPORT_ALLOCATION_SETTINGS_DEFAULT |
The constant used as default value for the struct TransportAllocationSettings_t. More... | |
#define | NDDS_TRANSPORT_CLASSID_INVALID (-1) |
Invalid Transport Class ID. More... | |
#define | NDDS_TRANSPORT_CLASSID_UDPv4 (1) |
Builtin IPv4 UDP/IP Transport Plugin class ID. More... | |
#define | NDDS_TRANSPORT_CLASSID_SHMEM (0x01000000) |
Builtin Shared-Memory Transport Plugin class ID. More... | |
#define | NDDS_TRANSPORT_CLASSID_SHMEM_510 (2) |
Builtin Shared-Memory Transport Plugin class ID for Connext 5.1.0 and earlier. More... | |
#define | NDDS_TRANSPORT_CLASSID_UDPv6 (2) |
Builtin IPv6 UDP/IP Transport Plugin class ID. More... | |
#define | NDDS_TRANSPORT_CLASSID_UDPv6_510 (5) |
Builtin IPv6 UDP/IP Transport Plugin class ID for Connext 5.1.0 and earlier. More... | |
#define | NDDS_TRANSPORT_CLASSID_DTLS (6) |
DTLS Secure Transport Plugin class ID. More... | |
#define | NDDS_TRANSPORT_CLASSID_WAN_DEPRECATED (7) |
WAN Transport Plugin class ID (deprecated since 7.0.0). More... | |
#define | NDDS_TRANSPORT_CLASSID_TCPV4_LAN (8) |
IPv4 TCP/IP Transport Plugin class ID for LAN case. More... | |
#define | NDDS_TRANSPORT_CLASSID_TCPV4_WAN (9) |
IPv4 TCP/IP Transport Plugin class ID for WAN case. More... | |
#define | NDDS_TRANSPORT_CLASSNAME_TCPV4_WAN "tcpv4_wan" |
IPv4 TCP/IP Transport Plugin class name for WAN case. More... | |
#define | NDDS_TRANSPORT_CLASSID_TLSV4_LAN (10) |
IPv4 TCP/IP Transport Plugin class ID for LAN case with TLS enabled. More... | |
#define | NDDS_TRANSPORT_CLASSID_TLSV4_WAN (11) |
IPv4 TCP/IP Transport Plugin class ID for WAN case with TLS enabled. More... | |
#define | NDDS_TRANSPORT_CLASSID_UDPv4_WAN (0x01000001) |
Builtin IPv4 UDP/IP Asymmetric Transport Plugin class ID. More... | |
#define | NDDS_TRANSPORT_CLASSID_RESERVED_RANGE (1000) |
Transport Plugin class IDs below this are reserved by RTI. More... | |
#define | NDDS_TRANSPORT_PROPERTY_BIT_BUFFER_ALWAYS_LOANED (0x2) |
Specified zero-copy behavior of transport. More... | |
#define | NDDS_TRANSPORT_PROPERTY_GATHER_SEND_BUFFER_COUNT_MIN (3) |
Minimum number of gather-send buffers that must be supported by a Transport Plugin implementation. More... | |
Typedefs | |
typedef RTI_UINT32 | NDDS_Transport_Port_t |
Type for storing RTI Connext RTPS ports. More... | |
typedef RTI_INT32 | NDDS_Transport_ClassId_t |
Type for storing RTI Connext Transport Plugin class IDs. More... | |
Transport plugins configuration with RTI Connext.
Transport plugins are configured using properties. Each transport plugin must derive its property from a base configuration structure NDDS_Transport_Property_t.
To see how to configure the Built-in Transport Plugins, see Built-in Transport Plugins.
#define NDDS_TRANSPORT_PORT_INVALID ((NDDS_Transport_Port_t) 0) |
Port 0 is considered to be invalid.
#define NDDS_TRANSPORT_UUID_SIZE 12 |
Size of a NDDS_Transport_UUID.
#define NDDS_TRANSPORT_LENGTH_UNLIMITED -1 |
Represent an unlimited length.
#define NDDS_TRANSPORT_INTERFACE_RANK_UNKNOWN 0 |
Rank interface as unknown or not yet set.
#define NDDS_TRANSPORT_UUID_UNKNOWN {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}} |
Value for UUIDs that have no known value. Used as default.
#define NDDS_TRANSPORT_ALLOCATION_SETTINGS_MAX_COUNT_UNLIMITED (-1) |
The constant used as 'unlimited' for the 'max_count' field of the structure TransportAllocationSettings_t.
#define NDDS_TRANSPORT_ALLOCATION_SETTINGS_INCREMENTAL_COUNT_AUTOMATIC (-1) |
The constant used as 'automatic' for the 'incremental_count' field of the structure TransportAllocationSettings_t.
Automatic means the buffer size will double at every reallocation.
#define NDDS_TRANSPORT_ALLOCATION_SETTINGS_DEFAULT |
The constant used as default value for the struct TransportAllocationSettings_t.
The default value defined in this constant, sets the buffer to have:
#define NDDS_TRANSPORT_CLASSID_INVALID (-1) |
Invalid Transport Class ID.
Transport-Plugins implementations should set their class ID to a value different than this.
#define NDDS_TRANSPORT_CLASSID_UDPv4 (1) |
Builtin IPv4 UDP/IP Transport Plugin class ID.
#define NDDS_TRANSPORT_CLASSID_SHMEM (0x01000000) |
Builtin Shared-Memory Transport Plugin class ID.
#define NDDS_TRANSPORT_CLASSID_SHMEM_510 (2) |
Builtin Shared-Memory Transport Plugin class ID for Connext 5.1.0 and earlier.
#define NDDS_TRANSPORT_CLASSID_UDPv6 (2) |
Builtin IPv6 UDP/IP Transport Plugin class ID.
#define NDDS_TRANSPORT_CLASSID_UDPv6_510 (5) |
Builtin IPv6 UDP/IP Transport Plugin class ID for Connext 5.1.0 and earlier.
#define NDDS_TRANSPORT_CLASSID_DTLS (6) |
DTLS Secure Transport Plugin class ID.
#define NDDS_TRANSPORT_CLASSID_WAN_DEPRECATED (7) |
WAN Transport Plugin class ID (deprecated since 7.0.0).
#define NDDS_TRANSPORT_CLASSID_TCPV4_LAN (8) |
IPv4 TCP/IP Transport Plugin class ID for LAN case.
#define NDDS_TRANSPORT_CLASSID_TCPV4_WAN (9) |
IPv4 TCP/IP Transport Plugin class ID for WAN case.
#define NDDS_TRANSPORT_CLASSNAME_TCPV4_WAN "tcpv4_wan" |
IPv4 TCP/IP Transport Plugin class name for WAN case.
#define NDDS_TRANSPORT_CLASSID_TLSV4_LAN (10) |
IPv4 TCP/IP Transport Plugin class ID for LAN case with TLS enabled.
#define NDDS_TRANSPORT_CLASSID_TLSV4_WAN (11) |
IPv4 TCP/IP Transport Plugin class ID for WAN case with TLS enabled.
#define NDDS_TRANSPORT_CLASSID_UDPv4_WAN (0x01000001) |
Builtin IPv4 UDP/IP Asymmetric Transport Plugin class ID.
#define NDDS_TRANSPORT_CLASSID_RESERVED_RANGE (1000) |
Transport Plugin class IDs below this are reserved by RTI.
User-defined Transport-Plugins should use a class ID greater than this number.
#define NDDS_TRANSPORT_PROPERTY_BIT_BUFFER_ALWAYS_LOANED (0x2) |
Specified zero-copy behavior of transport.
A Transport Plugin may commit to one of three behaviors for zero copy receives:
This bit should be set only if the Transport Plugin commits to always doing a zero copy receive, or more specifically, always loaning a buffer through its receive_rEA()
call.
In that case, RTI Connext will not need to allocate storage for a message that it retrieves with the receive_rEA()
call.
#define NDDS_TRANSPORT_PROPERTY_GATHER_SEND_BUFFER_COUNT_MIN (3) |
Minimum number of gather-send buffers that must be supported by a Transport Plugin implementation.
For the NDDS_Transport_Property_t structure to be valid, the value of NDDS_Transport_Property_t::gather_send_buffer_count_max must be greater than or equal to this value.
typedef RTI_UINT32 NDDS_Transport_Port_t |
Type for storing RTI Connext RTPS ports.
Unlike IPv4 Socket API ports, which are 2 bytes long, the RTI Connext representation of an RTPS port is 4 bytes.
typedef RTI_INT32 NDDS_Transport_ClassId_t |
Type for storing RTI Connext Transport Plugin class IDs.
Each implementation of a Transport Plugin must have a unique ID. For example, a UDP/IP Transport Plugin implemenation must have a different ID than a Shared Memory Transport Plugin.
User-implemented Transport Plugins must have an ID higher than NDDS_TRANSPORT_CLASSID_RESERVED_RANGE.