Home
RTI TCP Transport - Community RTI Connext Users
Contents
1. 4 7 RTI TLS Support OpenSSL configuration interfaces and definitions Data Structures struct RTITLS Verification Set of TLS properties for certificate authorities CAs and verification struct RTITLS Identity Set of TLS properties for identity struct RTITLS_DHParamrPFile Name of a Diffie Helman DH key file and the length of the contained key in bits struct RTITLS_Ciphers Set of TLS properties for cipher configuration struct RTITLS_OpenSSL_Configuration Full set of TLS properties Defines define RTITLS_VERIFY_DEFAULT Use this to initialize a RTITLS_Verfication structure define RTITLS IDENTITY DEFAULT Use this to initialize a RTITLS_Identity p 61 structure define RTITLS_CIPHER_LIST_DEFAULT AES ALL aNULL eNULL RC4 STRENGTH Cipher list string for default channel encrypted define RTITLS_CIPHER_LIST_ENCRYPT HIGH AES ALL aNULL eNULL LOW EXP RC4 STRENGTH Cipher list string for default channel encrypted no low strength define RTITLS_CIPHER_LIST_UNENCRYPTED aNULL Cipher list string for authentication only channel no encryption Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 26 Module Documentation define RTITLS_CIPHER_DEFAULT Use this to initialize a RTITLS_Ciphers p 58 structure define RTITLS_OPENSSL_CONFIGURATION_DEFAULT Use this to initialize a RTITLS_OpenSSL_Configuration p 64 struc ture Typedefs ty
2. Cipher list string for default channel encrypted 4 7 2 4 define RTITLS_CIPHER_LIST_ENCRYPT_ HIGH AES ALL aNULL eNULL LOW EXP RC4 Q STRENGTH Cipher list string for default channel encrypted no low strength 4 7 2 5 define RTITLS_CIPHER_LIST UNENCRYPTED aNULL Cipher list string for authentication only channel no encryption 4 7 2 6 define RTITLS_CIPHER_ DEFAULT Value TA NULL cipher_list default cipher list Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 28 Module Documentation O NULL dh_param_files_length dh_param_files no DH params NULL engine_id no engine O NULL NULL engine_pre_cmd_length engine_pre_cmd_names engine_pre_cmd_parameters O NULL NULL engine_post_cmd_length engine_post_cmd_names engeine_post_cmd_parameters Use this to initialize a RTITLS_Ciphers p 58 structure 4 7 2 7 define RTITLS_OPENSSL_CONFIGURATION DEFAULT Value RTITLS_VERIFY_DEFAULT verify RTITLS_IDENTITY_DEFAULT identity RTITLS_CIPHER_DEFAULT cipher RTITLS_RENEGOTIATE_DEFAULT renegotiate Use this to initialize a RTITLS_OpenSSL_Configuration p 64 structure 4 7 3 Typedef Documentation 4 7 3 1 typedef int RTITLS_Verify_Callback int preverify_ok X509_STORE_CTX x509_ctx Callback used to verify peer certificates See the OpenSSL manual page for SSL_CTX_set_veri
3. Note that IPv4 TOS is generally an 8 bit value See also transport_priority_mask p 48 Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 5 1 NDDS_Transport_TCPv4_Property_t Struct Reference 49 default 0 5 1 2 8 RTIINT32 NDDS_Transport_TCPv4_Property_ t transport_priority_mapping_high Sets the high value of the output range to IPv4 TOS This is used in conjunction with transport_priority_mask p 48 and trans port_priority_mapping_low p 48 to define the mapping from DDS trans port priority to the IPv4 TOS field Defines the high value of the output range for scaling Note that IPv4 TOS is generally an 8 bit value See also transport_priority_mask p 48 default OxFF 5 1 2 9 RTIINT32 NDDS_Transport_TCPv4_Property_t server_ socket_backlog Determines what is the maximum length of the queue of pending connections default NDDS_TRANSPORT_TCPV4_SERVER SOCKET BACKLOG DEFAULT p 15 5 1 2 10 NDDS_Transport_Address_t NDDS_Transport_TCPv4_ Property _t public_address Public locator IP address and port of the transport instantiation Use the function NDDS_Transport_TCPv4_Plugin stringToTransportAddress p 20 to compose the transport locator from a string form This field is used and required only when NDDS_Transport_Property_ t classid is set to NDDS_TRANSPORT_CLASSID_TCPV4_WAN The public IP address and port are necessary to support communication over WAN that
4. Maximum certificate chain length for verification default 1 no limit 5 6 2 4 RTITLS_Verify_Callback RTITLS_Verification callback Callback used to verify peer certificates See the OpenSSL manual page for SSL _set_verify for more information There are a number of default callbacks included in the Secure Transport See RTITLS default verify _callback p 28 RTITLS verbose verify callback p 29 default NULL use RTITLS default_verify_callback p 28 5 6 2 5 const charx RTITLS_Verification crl_file Name of file containing Certificate Revocation List File should be in PEM format default NULL Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen
5. 13 09 10 11 2012 for RTI TCP Transport by Doxygen 12 Module Documentation define NDDS_TRANSPORT_TCPV4_READ_ BUFFER POOL GROWTH_POLICY DEFAULT NDDS_TRANSPORT_ ALLOCATION SETTINGS DEFAULT The default settings for the buffer pool used to provide memory for the re ceived messages define NDDS_TRANSPORT_TCPV4_WRITE_BUFFER POOL GROWTH POLICY DEFAULT 4L 1000L 10L The default settings for the buffer used to provide memory for the bytes being written using asynchronous send define NDDS TRANSPORT TCPV4 CONTROL BUFFER POOL GROWTH POLICY DEFAULT NDDS_TRANSPORT_ ALLOCATION SETTINGS DEFAULT The default settings for the buffer pool used to provide memory for the control messages read or written define NDDS_TRANSPORT_TCPV4_CONTROL MESSAGE FACTORY GROWTH POLICY DEFAULT NDDS_ TRANSPORT ALLOCATION SETTINGS DEFAULT The default settings for the buffer used to provide memory for the control message factory define NDDS_TRANSPORT_TCPV4_ CONTROL MESSAGE_ATTRIBUTE_FACTORY_GROWTH_POLICY DEFAULT NDDS_TRANSPORT_ALLOCATION SETTINGS DEFAULT The default settings for the buffer used to provide memory for the control message attribute factory define NDDS_TRANSPORT_TCPV4 PROPERTY DEFAULT LAN Use this to initialize a NDDS_Transport_TCPv4_Property_t p 43 structure for LAN communication define NDDS_TRANSPORT_TCPV4_PROPERTY DEFAULT NDDS_TRANSPORT_TCPV4_PROPERTY DEFAULT LAN Use this to initialize a NDDS_
6. ALLOCATION_SETTINGS_DEFAULT The default settings for the buffer used to provide memory for the control mes sage attribute factory 4 3 2 13 define NDDS_TRANSPORT_TCPV4_PROPERTY DEFAULT_LAN Value parent NDDS_TRANSPORT_CLASSID_TCPV4_LAN classid NDDS_TRANSPORT_TCPV4_ADDRESS_BIT_COUNT address_bit_count NDDS_TRANSPORT_PROPERTY_BIT_BUFFER_ALWAYS_LOANED properties_bitmap 128 gather_send_buffer_count_max NDDS_TRANSPORT_TCPV4_MESSAGE_SIZE_MAX_DEFAULT message_size_max NULL allow_interfaces_list 0 allow_interfaces_list_length NULL deny_interfaces_list 0 deny_interfaces_list_length NULL allow_multicast_interfaces_list 0 allow_multicast_interfaces_list_length NULL deny_multicast_interfaces_list 0 HN deny_multicast_interfaces_list_length NDDS_TRANSPORT_TCPV4_SOCKET_BUFFER_SIZE_OS_DEFAULT send_socket_buffer_size NDDS_TRANSPORT_TCPV4_SOCKET_BUFFER_SIZE_OS_DEFAULT recv_socket_buffer_size 1 1 0 0 ignore_loopback_interface ignore_nonrunning_interfaces OxffL transport priority mapping NDDS_TRANSPORT_TCPV4_TRANSPORT_MODE_SYMMETRIC transport_mode deprecated NDDS_TRANSPORT_TCPV4_SERVER_SOCKET_BACKLOG_DEFAULT server_socket_backlog NDDS_TRANSPORT_ADDRESS_INVALID public_address NULL bind_interface_ad
7. GG 41 Data Structure Documentation 43 5 1 NDDS_Transport TCPv4_Property t Struct Reference 43 5 2 RTITLS_Ciphers Struct Reference 58 5 3 RTITLS_DHParamFile Struct Reference 60 5 4 RTITLS_Identity Struct Reference 61 5 5 RTITLS_OpenSSL_Configuration Struct Reference 64 5 6 RTITLS_Verification Struct Reference 65 Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen Chapter 1 TCP Transport for RTI Connext Real Time Innovations Inc The RTI TCP Transport enables communication between RTI Connext appli cations using TCP The communication can be either over a LAN or over a WAN 1 1 Available Documentation This document contains Overview p 1 Configuring the TCP Transport p 2 For additional information please see the following PDF documents RTI TCP Transport API Reference RTI Core Libraries and Utilities User s Manual 1 2 Overview Out of the box RTI Connext uses UDP and Shared Memory to communicate with other DDS applications This configuration is appropriate for systems 2 TCP Transport for RTI Connext running within a single LAN However using the UDP transport introduces some problems when DDS applications in different LANs need to communicate UDP traffic is usually filtered out by the LAN firewalls for security reasons Forwarded ports are usually TCP ports Each LAN may run in its own priva
8. acceptHostName_in Converts a string into a transport address suitable to be used with the TCP transport This method will convert a string in the form host port into a NDDS_ Transport_Address_t structure If the port component is not specified it will assign the default value as described by the constant NDDS_TRANSPORT_TCPV4_DEFAULT PORT_NUMBER p 14 Parameters address_out lt lt out gt gt Transport address to initialize address_in lt lt in gt gt the NULL terminated string containing the address to parse acceptHostName_in lt lt in gt gt Set it to RTI_TRUE to allow this function to resolve the host component of the string address through a DNS lookup set it to RTILFALSE to allow only IPv4 addresses in the host part of the address string Returns RTLTRUE if success or RTI_LFALSE if an error occurred during the con version Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 4 TCP Transport Initial Peers 21 4 4 TCP Transport Initial Peers This section describes how to specify the TCP transport initial peers With the TCP transport the addresses of the initial peers NDDS_DISCOVERY_ PEERS that will be contacted during the discovery process have the following format For WAN communication tcpv4 wan lt IP address or hostname gt lt port gt For LAN communication tcpv4_lan lt IP address or hostname gt lt port gt For example setenv NDDS_DISCOVERY_PEERS te
9. authorities CAs and verification Data Fields const char ca_file Name of file containing Certificate Authority certificates const char ca_path Paths to directories containing Certificate Authority certificates DDS_Long verify_depth Mazimum certificate chain length for verification RTITLS Verify_Callback callback Callback used to verify peer certificates const char crl_file Name of file containing Certificate Revocation List 5 6 1 Detailed Description Set of TLS properties for certificate authorities CAs and verification 5 6 2 Field Documentation 5 6 2 1 const charx RTITLS_Verification ca file Name of file containing Certificate Authority certificates File should be in PEM format See the OpenSSL manual page for SSL_load_ verify locations for more information At least one of ca file and ca_path must be specified both may be specified default NULL 5 6 2 2 const charx RTITLS_Verification ca_path Paths to directories containing Certificate Authority certificates Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 66 Data Structure Documentation Files should be in PEM format and follow the OpenSSL required naming con ventions See the OpenSSL manual page for SSL_CTX load verify locations for more information At least one of ca_file and ca_path must be specified both may be specified default NULL 5 6 2 3 DDS_Long RTITLS_Verification verify_depth
10. involves Network Address Translators NATs Typically the address is the public address of the IP router that provides access to the WAN The port is the IP router port that is used to reach the private server_bind_port p 50 inside the LAN from the outside Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 50 Data Structure Documentation See also NDDS_Transport_TCPv4_Property_t server_bind_port p 50 default NDDS_TRANSPORT_ADDRESS_INVALID 5 1 2 11 charx NDDS_Transport TCPv4_Property t bind interface_address Interface IP address for the transport sockets The TCP transport can be configured to bind all sockets to a specified interface If the value is NULL the sockets will be bound to the special IP address IN ADDR_ANY This address allows the sockets to receive packets destined to any of the interfaces This field should be set in multi homed systems communicating across NAT routers default NULL 5 1 2 12 RTIINT32 NDDS_Transport_TCPv4_Property_t server_ bind_port Private IP port inside the LAN used by the transport to accept TCP connec tions If this property is set to zero the transport will disable the internal server socket making it impossible for external peers to connect to this node In this case the node is considered unreachable and will only communicate using the asymmetric mode with other reachable peers For WAN communication this port must be forwarded
11. properties of all transport plugins default Refer to the property default NDDS_Transport_TCPva4 Plugin NDDS_TRANSPORT_TCPV4 PROPERTY _ DEFAULT LAN p 16 5 1 2 2 RTIINT32 NDDS_Transport_TCPv4_Property_t send_ socket _buffer _size Size in bytes of the send buffer of a socket used for sending On most operating systems setsockopt will be called to set the SENDBUF to the value of this parameter This value must be greater than or equal to NDDS_Transport_Property_ t message_size_max or NDDS_TRANSPORT_TCPV4_SOCKET BUFFER_SIZE_OS_DEFAULT p 14 The maximum value is operating system dependent default NDDS TRANSPORT _TCPV4 SOCKET BUFFER SIZE OS DEFAULT p 14 Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 5 1 NDDS_Transport_TCPv4_Property_t Struct Reference 47 5 1 2 3 RTIINT32 NDDS_Transport_TCPv4_Property_t recv_ socket_buffer _size Size in bytes of the receive buffer of a socket used for receiving On most operating systems setsockopt will be called to set the RECVBUF to the value of this parameter This value must be greater than or equal to parent message_size_max or NDDS_TRANSPORT_TCPV4_SOCKET_BUFFER _SIZE_OS_ DEFAULT p 14 The maximum value is operating system dependent default NDDS_TRANSPORT_TCPV4_SOCKET_BUFFER SIZE OS_DEFAULT p 14 5 1 2 4 RTIINT32 NDDS_Transport_TCPv4_Property _t ignore_ loopback _interface Prevents the transport plugin f
12. to a public port in the NAT enabled router that connects to the outer network The server_bind_port cannot be shared among multiple participants on a com mon host On most operating systems attempting to reuse the same server_ bind_port for multiple participants on a common host will result in a port already in use error However Windows systems will not recognize if the server_bind_port is already in use and thus care must be taken to properly configure Windows systems See also NDDS _Transport_TCPv4 Property t public_address p 49 default NDDS_ TRANSPORT _TCPV4 DEFAULT PORT NUMBER p 14 Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 5 1 NDDS_Transport_TCPv4_Property_t Struct Reference 51 5 1 2 13 struct Transport AllocationSettings_t NDDS_ Transport_TCPv4_Property_t read_buffer_allocation read Allocation settings applied to read buffers These settings configure the initial number of buffers the maximum number of buffers and the buffers to be allocated when more buffers are needed default _NDDS_TRANSPORT_TCPV4_READ_BUFFER_POOL GROWTH POLICY DEFAULT p 15 5 1 2 14 struct TransportAllocationSettings t NDDS_ Transport_TCPv4_Property_t write_buffer_allocation read Allocation settings applied to buffers used for asynchronous nonblocking write These settings configure the initial number of buffers the maximum number of buffers and the buffers to be allocated
13. transport instance Refer to NDDS_Transport_Support register transport for docu mentation on how to register the transport instance with RTI Connext To use this second approach you need access to the TCP Transport Plugin API p 11 at compile time Your application will have to include the following header file Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 1 3 Configuring the TCP Transport 3 include ndds transport_tcp transport_tcp_tcpv4 h The above path assumes that RTI TCP Transport is installed in the same directory as RTI Connext Regardless of which way is used to configure the TCP transport you will need to specify TCP as the transport in the initial peers See TCP Transport Initial Peers p 21 for details Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen TCP Transport for RTI Connext Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen Chapter 2 Module Index 2 1 Modules Here is a list of all modules Socket Utilities sr i 444 8224 08 246464 da ee oe e Connection Endpoint Abstractions TCP Transport Plugin API o o o TCP Transport Initial Peers o Configure TCP Transport with Property QoS Policy TCP Transport Examples o C Example of TCP Transport with PropertiesQosPolicy Configu o A HelloWorldiidl ssie 24 4 ee
14. when more buffers are needed Note that for the write buffer pool the default max_count is not set to unlimited This is to avoid having a fast writer quickly exhaust all the available system memory in case of a temporary network slowdown When this write buffer pool reaches the maximum the low level send command of the transport will fail at that point RTI Connext will take the appropriate action retry to send or drop it according to the applications QoS if the transport is used for reliable communication the data will still be sent eventually default NDDS_TRANSPORT_TCPV4_WRITE_ BUFFER POOL GROWTH POLICY DEFAULT p 15 5 1 2 15 struct TransportAllocationSettings t NDDS_ Transport_TCPv4_Property _t control_buffer_allocation read Allocation settings applied to buffers used to serialize and send control messages These settings configure the initial number of buffers the maximum number of buffers and the buffers to be allocated when more buffers are needed default NDDS_ TRANSPORT TCPV4 CONTROL BUFFER POOL GROWTH POLICY DEFAULT p 15 Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 52 Data Structure Documentation 5 1 2 16 struct TransportAllocationSettings_t NDDS_Transport_ TCPv4_Property_t control_message_allocation read Allocation settings applied to control messages These settings configure the initial number of buffers the maximum number of buffers and the buffers to be
15. FAULT p 27 RTITLS_ Plugin RTITLS_CIPHER_LIST_ENCRYPT_HIGH p 27 and RTI TLS_Plugin RTITLS_CIPHER LIST UNENCRYPTED p 27 default NULL 5 2 2 2 DDS_Long RTITLS_Ciphers dh_param_files_length Number of DH key files supplied default 0 Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 5 2 RTITLS_Ciphers Struct Reference 59 5 2 2 3 struct RTITLS_DHParamFilex RTITLS_Ciphers dh_ param files read List of available DH key files default NULL 5 2 2 4 const charx RTITLS_Ciphers engine_id ID of OpenSSL cipher engine to request default NULL Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 60 Data Structure Documentation 5 3 RTITLS_DHParamFile Struct Reference Name of a Diffie Helman DH key file and the length of the contained key in bits Data Fields const char x file Name of DH key file DDS_Long bits Length of DH key in bits 5 3 1 Detailed Description Name of a Diffie Helman DH key file and the length of the contained key in bits 5 3 2 Field Documentation 5 3 2 1 const charx RTITLS_DHParamFile file Name of DH key file default 0 5 3 2 2 DDS_Long RTITLS_DHParamFile bits Length of DH key in bits default NULL Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 5 4 RTITLS Identity Struct Reference 61 5 4 RTITLS Identity Struct Reference Set of TLS properties for identity Data Fields
16. LAN Use this to initialize a NDDS_Transport_TCPv4_Property_t p 43 struc ture 4 3 2 15 define NDDS_TRANSPORT_TCPV4_ADDRESS LOCALHOST 0 0 0 0 0 0 0 0 Oxff Oxff Ox1c Oxe8 127 0 0 1 The definition of localhost for the TCP transport 127 0 0 1 7400 4 3 3 Typedef Documentation 4 3 3 1 typedef void NDDS_Transport_TCPv4_ OnConnectionEstablishedCallback RTI_UINT32 remote_peer_addresss RTI_UINT16 remote_peer_port Prototype of the function that can be called when a new connection is success fully established with a remote peer Parameters remote_peer_addresss the address of the remote peer connected encoded as network ordered IPv4 address remote_peer_port the port number of the remote connection encoded as network ordered 16 bit value Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 18 Module Documentation 4 3 3 2 typedef void NDDS_Transport_TCPv4_ OnConnectionLost Callback RTI_UINT32 remote_peer_addresss RTI_UINT16 remote_peer_port NDDS_Transport_TCPv4_OnConnectionLost_ReasonCode_t reason Prototype of the function that can be called when an existing connection is lost This method is always called after the on_connection_established is called It is also called if a sendresource or recvresource is destroyed after closing the existing connections and on shutdown Parameters remote_peer_addresss the address of the remote peer connected encoded as network
17. RTI TCP Transport Version 5 0 0 Generated by Doxygen 1 5 5 Mon Aug 13 09 10 11 2012 Contents 1 TCP Transport for RTI Connext 1 1 Available Documentation s lt s ee ss es sas agada Sae pa Weds o sre s parma a Oe a e a eB ee ee 1 3 Configuring the TCP Transport 2 Module Index 21 AMOQU ES dd a A a Swe ee 3 Data Structure Index Sul Data Structures aa ds ee ada iaa 4 Module Documentation a Socket Uts a es UVA AE 4 2 Connection Endpoint Abstractions 43 TCP Transport Plugin API coso 0004 44 rana AA TCP Transport Initial Peers 4 44 ac Bowe we ceuma 4 5 Configure TCP Transport with Property QoS Policy 4 6 TCP Transport Examples lt lt s lt ccas hoo ee Re Ar RETES Supporti coso GS paea eee Ee e 4 8 C Example of TCP Transport with PropertiesQosPolicy Config ULA uo ao a ae ee ewe eh Be ee ee bw 4 9 HelloWorld idl AO Hello Common Mia it e a a A aa 4 11 Hello World 244444 2428 seriada ii CONTENTS 4 12 HelloWorldpublishene oscura a a 34 4 13 HelloWorldsubseriber 2 22 0 54 4 ee eee bee eee eas 35 4 14 Hello WorldaPlusii wo 6442525244 844 R88e 4 oe oD 36 4 15 HelloWorldsupport c q coios 6 a i ee ee 37 4 16 C Example of TCP Transport with Transport Registration 38 AIT Hello sa sob Sei en a SEO SS SST a eS 39 4 18 HelloPublisherie cos Gone oe a ce se Dawa Ee ee ey 40 4 19 HellosubseriberG 2 i ce sanusa hae eee RRR EE
18. Transport_TCPv4_Property_t p 43 structure define NDDS_TRANSPORT_TCPV4_ADDRESS LOCALHOST 0 0 0 0 0 0 0 0 Oxff 0xff Ox1c Oxe8 127 0 0 1 The definition of localhost for the TCP transport 127 0 0 1 7400 Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 3 TCP Transport Plugin API 13 Typedefs typedef void NDDS_Transport_TCPv4_ OnConnectionEstablishedCallback RTILUINT32 remote_peer_ addresss RTI_UINT16 remote_peer_port Prototype of the function that can be called when a new connection is suc cessfully established with a remote peer typedef void NDDS_Transport_TCPv4 OnConnectionLostCallback RTI_UINT32 remote_peer_addresss RTLUINT16 remote_peer_port NDDS_Transport_TCPv4_ OnConnectionLost_ReasonCode_t reason Prototype of the function that can be called when an existing connection is lost Enumerations enum NDDS_Transport_TCPv4_OnConnectionLost_ ReasonCode_t NDDS_TRANSPORT_TCPV4_ON_CONNECTION LOST REASON UNKNOWN 0 NDDS_TRANSPORT_TCPV4_ON_CONNECTION LOST REASON_CODE_FINALIZED NDDS_TRANSPORT_TCPV4_ON_CONNECTION_LOST_ REASON_CODE_BROKEN_PIPE NDDS_TRANSPORT_TCPV4_ON_CONNECTION LOST REASON_DESTROYED A set of possible reasons why a connection is lost Functions NDDS Transport Plugin NDDS_Transport_TCPv4 new const struct NDDS_Transport_TCPv4_Property_t property_in Creates an instance of the TCP
19. _Transport_Property_t parent Generic properties of all transport plugins RTLIN T32 send_socket_buffer _size Size in bytes of the send buffer of a socket used for sending RTLINT32 recv_socket_buffer_size Size in bytes of the receive buffer of a socket used for receiving RTLINT32 ignore_loopback_interface Prevents the transport plugin from using the IP loopback interface RTLINT32 ignore_nonrunning interfaces Prevents the transport plugin from using a network interface that is not re ported as RUNNING by the operating system RTLINT32 transport_priority_mask 44 Data Structure Documentation Mask for the transport priority field RTLINT32 transport_priority_mapping_low Sets the low value of the output range to IPv4 TOS RTLINT32 transport _priority_mapping high Sets the high value of the output range to IPv4 TOS RTLINT32 server_socket_backlog Determines what is the maximum length of the queue of pending connections NDDS_Transport_Address t public_address Public locator IP address and port of the transport instantiation char bind_interface_address Interface IP address for the transport sockets RTLINT32 server_bind_port Private IP port inside the LAN used by the transport to accept TCP con nections struct TransportAllocationSettings t read_buffer_allocation Allocation settings applied to read buffers struct TransportAllocationSettings_t write_buffer_allocation Allocation setti
20. allocated when more buffers are needed default NDDS_TRANSPORT_TCPV4_CONTROL_MESSAGE_ FACTORY_GROWTH_POLICY_DEFAULT p 15 5 1 2 17 struct TransportAllocationSettings_t NDDS_Transport_ TCPv4_Property_t control_attribute_allocation read Allocation settings applied to control messages attributes These settings configure the initial number of attributes the maximum number of attributes and the attributes to be allocated when more attributes are needed default NDDS TRANSPORT TCPV4 CONTROL MESSAGE ATTRIBUTE FACTORY GROWTH POLICY DEFAULT p 16 5 1 2 18 RTIINT32 NDDS_Transport_TCPv4_Property_t force_ asynchronous_send Controls whether the plugin will send data synchronously or asynchronously When this parameter is set to 0 the TCP transport will attempt to send data as soon as the internal send function is called When it is set to 1 the transport will make a copy of the data to send and enqueue it in an internal send buffer Data will be sent as soon as the low level socket buffer has space Normally setting it to 1 delivers better throughput in a fast network but will result in a longer time to recover from various TCP error conditions Setting it to 0 may cause the low level send function to block until the data is physically delivered to the lower socket buffer For an application writing data at a very fast rate it may cause the caller thread to block if the send socket buffer is full This could produce lowe
21. cifies the verbosity of log messages from the transport RTLINT32 outstanding_connection_cookies Mazimum number of outstanding connection cookies allowed by the transport when acting as server RTLINT32 outstanding_connection_cookies_life_span Maximum lifespan in seconds of the cookies associated with pending con nections RTLINT32 send_max_wait_sec Mazimum number of seconds a low level TCP sendto function is allowed to block struct RTITLS_OpenSSL_Configuration tls OpenSSL TLS parameters Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 46 Data Structure Documentation 5 1 1 Detailed Description Configurable TCP Transport Plugin properties For communications within a LAN you should initialize the object as follows prop parent classid NDDS_TRANSPORT_CLASSID_TCPV4_LAN If you want to use the transport in WAN configuration you must also define the public_address and sever_bind_port prop parent classid NDDS_TRANSPORT_CLASSID_TCPV4_WAN NDDS_Transport_TCPv4_Plugin_stringToTransportAddress amp prop public_address 142 123 123 111 7890 0 prop server_bind_port 7400 Remember that the public_address is the public address that your network gate way is exposing to a remote peer It is not the local network address where the application is running 5 1 2 Field Documentation 5 1 2 1 struct NDDS_Transport_Property_t NDDS_Transport_TCPv4_Property_t parent read Generic
22. const char certificate_chain String containing identifying certificate in PEM format or certificate chain appending intermediate CA certs in order const char certificate_chain_file File containing identifying certificate in PEM format or certificate chain appending intermediate CA certs in order const char private_key_password Password for private key const char private_key String containing private key in PEM format const char private_key_file File containing private key in PEM format const char rsa_private_key String containing additional RSA private key in PEM format const char rsa_private_key _file File containing additional RSA private key in PEM format 5 4 1 Detailed Description Set of TLS properties for identity 5 4 2 Field Documentation 5 4 2 1 const charx RTITLS Identity certificate_chain String containing identifying certificate in PEM format or certificate chain appending intermediate CA certs in order Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 62 Data Structure Documentation An identifying certificate is required for secure communication The string must be sorted starting with the certificate to the highest level root CA If this is specified certificate_chain file must be empty default NULL 5 4 2 2 const charx RTITLS_Identity certificate_chain_file File containing identifying certificate in PEM format
23. dress NDDS_TRANSPORT_TCPV4_DEFAULT_PORT_NUMBER server_bind_port NDDS_TRANSPORT_TCPV4_READ_BUFFER_POOL_GROWTH_POLICY_DEFAULT read_buffer_allocation NDDS_TRANSPORT_TCPV4_WRITE_BUFFER_POOL_GROWTH_POLICY_DEFAULT write_buffer_allocation NDDS_TRANSPORT_TCPV4_CONTROL_BUFFER_POOL_GROWTH POLICY_DEFAULT control_buffer_allocation NDDS_TRANSPORT_TCPV4_CONTROL_MESSAGE_FACTORY_GROWTH_POLICY_DEFAULT control_message_allocation NDDS_TRANSPORT_TCPV4_CONTROL_MESSAGE_ATTRIBUTE_FACTORY_GROWTH_POLICY_DEFAULT control_attribute_allocat 0 NULL NULL 1L 0 1L 1L 1L 0 force_asynchronous_send on_connection_established on_connection_lost max_packet_size enable_keep_alive keep_alive_time keep_alive_internal keep_alive_retry_count disable_nagle Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 3 TCP Transport Plugin API 17 1L logging_verbosity_bitmap MX 1 use_windows_select 100 outstanding _connection_cookies 1L outstanding_connection_cookies_life_span 3 send_max_wait_sec RTITLS_OPENSSL_CONFIGURATION_DEFAULT tls Use this to initialize a NDDS_Transport_TCPv4_Property_t p 43 struc ture for LAN communication 4 3 2 14 define NDDS_TRANSPORT_TCPV4 PROPERTY DEFAULT NDDS_TRANSPORT_TCPV4_PROPERTY _ DEFAULT_
24. e ey ba ee eae Ed HelloCommon h 00 0000 02 eae HelloWorld i i pw a be ee ee eR EE ee i e HelloWorld_publisher C o e HelloWorld_subscriber c o e o HelloWorldPlugin C o HelloWorldSupport c 0 0000002 eee eee C Example of TCP Transport with Transport Registration Helo a ace te 2S APOE ds Ra Ee A Aa A aas HelloPublisher c sssaaa ddodi w e a o HelloSubscriber c saes a p aaae Eaa a E R E a RTI TLS Support 2 2 2 0 6 bee eee ees Module Index Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen Chapter 3 Data Structure Index 3 1 Data Structures Here are the data structures with brief descriptions NDDS_Transport_TCPv4_Property t Configurable TCP Transport Plugin properties o o 43 RTITLS_Ciphers Set of TLS properties for cipher configuration 58 RTITLS_DHParamFile Name of a Diffie Helman DH key file and the length of the contained key in bits 60 RTITLS Identity Set of TLS properties for identity 61 RTITLS_OpenSSL_Configuration Full set of TLS properties 64 RTITLS_Verification Set of TLS properties for certificate authori ties CAs and verification o o o 65 Data Structure Index Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen Chapter 4 Module Documentation 4 1 Socket Utilities Socke
25. er At most one of rsa_private_key and rsa_private_key_file may be specified default NULL 5 4 2 7 const charx RTITLS Identity rsa_private_key_file File containing additional RSA private key in PEM format For use if both an RSA and non RSA key are required for the selected cipher At most one of rsa_private_key and rsa_private_key_file may be specified default NULL Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 64 Data Structure Documentation 5 5 RTITLS_OpenSSL_Configuration Struct Reference Full set of TLS properties Data Fields struct RTITLS_Verification verify Verification properties struct RTITLS_Identity identity Identity properties struct RTITLS_Ciphers cipher Cipher properties 5 5 1 Detailed Description Full set of TLS properties Should be initialized with RTITLS Plugin RTITLS OPENSSL CONFIGURATION_DEFAULT p 28 5 5 2 Field Documentation 5 5 2 1 struct RTITLS_Verification RTITLS_OpenSSL_ Configuration verify read Verification properties 5 5 2 2 struct RTITLS Identity RTITLS_OpenSSL_ Configuration identity read Identity properties 5 5 2 3 struct RTITLS Ciphers RTTTLS_OpenSSL Configuration cipher read Cipher properties Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 5 6 RTITLS Verification Struct Reference 65 5 6 RTITLS_Verification Struct Reference Set of TLS properties for certificate
26. errors 0x02 warnings 0x04 local 0x08 remote 0x10 period 0x80 other used for control protocol tracing Note the logging verbosity is a global property shared across multiple instances of the TCP transport If you create a new TCP Transport instance with log ging verbosity bitmap different than 1 the change will affect all the other in stances as well The default TCP transport verbosity is errors and warnings Note The option of 0x80 other is used only for tracing the internal control protocol Since the output is very verbose this feature is enabled only in the debug version of the TCP Transport library default 1 do not change default verbosity Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 56 Data Structure Documentation 5 1 2 28 RTIINT32 NDDS_Transport_TCPv4_Property_ t outstanding connection_cookies Maximum number of outstanding connection cookies allowed by the transport when acting as server A connection cookie is a token provided by a server to a client it is used to establish a data connection Until the data connection is established the cookie cannot be reused by the server To avoid wasting memory it is good practice to set a cap to the maximum number of connection cookies pending connections When the maximum value is reached a client will not be able to connect to the server until new cookies become available default 100 5 1 2 29 RTIINT32 NDDS_T
27. from the receive thread both client server side if you don t return the control fast enough the control protocol may be affected causing disconnections and or delays in establishing connections with remote peers default NULL 5 1 2 21 RTIINT32 NDDS Transport TCPv4_ Property _t max_ packet _size The maximum size of a TCP segment This parameter is only supported on Linux architectures By default the maximum size of a TCP segment is based on the network MTU for destinations on a local network or on a default 576 for destinations on non local networks This behavior can be changed by setting this parameter to a value between 1 and 65535 Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 54 Data Structure Documentation default 1 use OS default 5 1 2 22 RTIINT32 NDDS_Transport_TCPv4_Property_t enable_ keep_alive Configures the sending of KEEP_ALIVE messages in TCP Setting this value to 1 causes a KEEP_ALIVE packet to be sent to the remote peer if a long time passes with no other data sent or received This feature is implemented only on architectures that provide a lowlevel im plementation of the TCP keep alive feature On Windows systems the TCP keep alive feature can be glob ally enabled through the system s registry HKEY LOCAL MACHINE SYSTEM CurrentControlSet Tcpip Parameters Refer to MSDN documentation for more details On Solaris systems most of the TCP keep alive
28. fy for more information 4 7 4 Function Documentation 4 7 4 1 void RTITLS thread exit clean up OpenSSL resources for current thread call before exit 4 7 4 2 int RTITLS_default_verify_callback int ok X509 STORE _CTX x store Default verify callback log errors when verification fails See the OpenSSL manual page for SSL_CTX _set_ verify for more information Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 7 RTI TLS Support 29 4 7 4 3 int RTITLS_verbose_verify_callback int ok X509 STORE_CTX store Verbose verify callback log information about successful verification as well as errors when verification fails See the OpenSSL manual page for SSL_CTX_set_verify for more information Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 30 Module Documentation 4 8 C Example of TCP Transport with Proper tiesQosPolicy Configuration TCP Transport example with PropertiesQosPolicy configuration Modules HelloWorld idl HelloCommon h HelloWorld c HelloWorld_publisher c HelloWorld_subscriber c HelloWorldPlugin c HelloWorldSupport c 4 8 1 Detailed Description TCP Transport example with PropertiesQosPolicy configuration See README txt for details NDDSHOME example C helloWorldTCP README txt Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 9 HelloWorld idl 31 4 9 HelloWorld idl NDDSHOME example C helloW
29. n 4 16 C Example of TCP Transport with Trans port Registration TCP Transport example with explicit transport registration Modules Hello c HelloPublisher c HelloSubscriber c 4 16 1 Detailed Description TCP Transport example with explicit transport registration See READ_ME txt for details NDDSHOME example C Hello_builtin_tep READ_ME txt Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 17 Hello c 39 4 17 Hello c NDDSHOME example C Hello_builtin tcp src Hello h NDDSHOME example C Hello_builtin_tcp Hello c Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 40 Module Documentation 4 18 HelloPublisher c NDDSHOME example C Hello_builtin tcp HelloPublisher h NDDSHOME example C Hello_builtin_tcp HelloPublisher c Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 19 HelloSubscriber c 41 4 19 HelloSubscriber c NDDSHOME example C Hello_builtin_tcp HelloSubscriber h NDDSHOME example C Hello_builtin_tcp HelloSubscriber c Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 42 Module Documentation Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen Chapter 5 Data Structure Documentation 5 1 NDDS_Transport_TCPv4_Property_t Struct Reference Configurable TCP Transport Plugin properties Data Fields struct NDDS
30. ngs applied to buffers used for asynchronous nonblocking write struct TransportAllocationSettings_t control_buffer_allocation Allocation settings applied to buffers used to serialize and send control mes sages struct Transport AllocationSettings_t control_message_ allocation Allocation settings applied to control messages struct TransportAllocationSettings_t control_attribute_ allocation Allocation settings applied to control messages attributes RTLIN T32 force_asynchronous_send Controls whether the plugin will send data synchronously or asynchronously Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 5 1 NDDS_Transport_TCPv4_Property_t Struct Reference 45 NDDS_Transport_TCPv4_OnConnectionEstablished Callback on_connection_established NDDS_Transport_TCPv4_OnConnectionLost Callback on_ connection_lost RTLINT32 max_packet_size The maximum size of a TCP segment RTLIN T32 enable_keep_alive Configures the sending of KEEP_ALIVE messages in TCP RTLINT32 keep_alive_time Specifies the interval of inactivity in seconds that causes TCP to generate a KEEP_ALIVE message RTLINT32 keep_alive_interval Specifies the interval in seconds between KEEP_ALIVE retries RTLIN T32 keep_alive_retry_count The maximum number of KEEP_ALIVE retries before dropping the connec tion RTLINT32 disable_nagle Disables the TCP nagle algorithm RTLINT32 logging_verbosity_bitmap Bitmap that spe
31. operty names for all the settings that are related to this TCP transport plugin lt TCP_prefix gt must begin with dds transport such as dds transport TCPv4 tdp1 lt TCP_prefiz gt library Must set to nddstransporttcp The library libnddstrans porttcp so Unix or nddstrans porttcp dll Windows needs to be in the path during run time for use by RTI Connext in the LD LIBRARY PATH environment variable on UNIX based systems or in PATH for Windows systems YES lt TCP prefiz gt create function Must be set to NDDS_ Transport TCPv4_create YES lt TCP _prefix gt aliases Used to register the transport plugin returned by NO Generated on Mon Aug 13 Op NDPDS1 Transporter Transport by Doxygen TCPva4 create p 19 as specified by lt TCP_ prefix gt create_ function to the DomainParticipant Refer to aliases_in parameter in 24 Module Documentation 4 6 TCP Transport Examples TCP Transport Examples Modules C Example of TCP Transport with PropertiesQosPolicy Config uration TCP Transport example with PropertiesQosPolicy configuration C Example of TCP Transport with Transport Registration TCP Transport example with explicit transport registration 4 6 1 Detailed Description TCP Transport Examples Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 7 RTI TLS Support 25
32. or certificate chain ap pending intermediate CA certs in order An identifying certificate is required for secure communication The file must be sorted starting with the certificate to the highest level root CA If this is specified certificate_chain must be empty Optionally a private key may be appended to this file If no private key option is specified this file will be used to load a private key default NULL 5 4 2 3 const charx RTITLS_Identity private_key_password Password for private key default NULL no password 5 4 2 4 const charx RTITLS_Identity private_key String containing private key in PEM format At most one of private_key and private_key_file may be specified If no private key is specified all values are NULL the private key will be read from the certificate chain file default NULL 5 4 2 5 const charx RTITLS_Identity private_key_file File containing private key in PEM format At most one of private key and private key file may be specified If no private key is specified all values are NULL the private key will be read from the certificate chain file default NULL Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 5 4 RTITLS Identity Struct Reference 63 5 4 2 6 const charx RTITLS_Identity rsa_private_key String containing additional RSA private key in PEM format For use if both an RSA and non RSA key are required for the selected ciph
33. ordered IPv4 address remote_peer_port the port number of the remote connection encoded as network ordered 16 bit value reason an enumeration that describes the reason of the disconnection 4 3 4 Enumeration Type Documentation 4 3 4 1 enum NDDS_Transport_TCPv4_OnConnectionLost_ ReasonCode_t A set of possible reasons why a connection is lost See also NDDS_Transport_TCPv4_OnConnectionLostCallback p 18 Enumerator NDDS_TRANSPORT_TCPV4_ON_CONNECTION_LOST_REASON_UNKNOWN The reason why the connection was closed is not known NDDS_TRANSPORT_TCPV4_ON_CONNECTION_LOST_REASON_CODE_FINALL Server side connection closed by remote client Client side the internal send resource was destroyed NDDS_ TRANSPORT TCPV _ON CONNECTION LOST REASON CODE _BROKE Describes a condition where the remote peer has ungracefully closed the connection app was crashed or suddenly interrupted NDDS_TRANSPORT_TCPVi_ON_CONNECTION_LOST_REASON_DESTROYED Describes a condition where the current node has decided to close the connection Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 3 TCP Transport Plugin API 19 4 3 5 Function Documentation 4 3 5 1 NDDS_Transport_Plugins NDDS_Transport_TCPv4_new const struct NDDS_Transport_TCPv4_Property_t property in Creates an instance of the TCP transport plugin and initializes it from the specified TCP transport property structure This is the main initializer of the TCP t
34. orldT CP HelloWorld idl Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 32 Module Documentation 4 10 HelloCommon h NDDSHOME example C helloWorld TCP HelloCommon h Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 11 HelloWorld c 33 4 11 HelloWorld c NDDSHOME example C heloWorld TCP HelloWorld h NDDSHOME example C helloWorldTCP HelloWorld c Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 34 Module Documentation 4 12 HelloWorld_publisher c NDDSHOME example C helloWorldTCP HelloWorld_publisher c Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 13 HelloWorld_subscriber c 35 4 13 HelloWorld_subscriber c NDDSHOME example C heloWorld TCP HelloWorld_subscriber c Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 36 Module Documentation 4 14 HelloWorldPlugin c NDDSHOME example C heloWorld TCP HelloWorldPlugin h NDDSHOME example C helloWorldTCP HelloWorldPlugin c Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 15 HelloWorldSupport c 37 4 15 HelloWorldSupport c NDDSHOME example C helloWorldTCP HelloWorldSupport h NDDSHOME example C helloWorldTCP HelloWorldSupport c Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 38 Module Documentatio
35. parameters can be changed though the kernel properties default 0 disabled 5 1 2 23 RTIINT32 NDDS Transport TCPv4_ Property t keep alive_time Specifies the interval of inactivity in seconds that causes TCP to generate a KEEP_ALIVE message This parameter is only supported on Linux architectures default 1 OS default value 5 1 2 24 RTIINT32 NDDS_Transport_TCPv4_Property _t keep_ alive_interval Specifies the interval in seconds between KEEP_ALIVE retries This parameter is only supported on Linux architectures default 1 OS default value 5 1 2 25 RTIINT32 NDDS_Transport_TCPv4 Property _t keep alive retry_count The maximum number of KEEP_ALIVE retries before dropping the connection This parameter is only supported on Linux architectures Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 5 1 NDDS_Transport_TCPv4_Property_t Struct Reference 55 default 1 use system s default 5 1 2 26 RTI_INT32 NDDS_Transport_TCPv4_Property_t disable_ nagle Disables the TCP nagle algorithm When this property is set to 1 TCP segments are always sent as soon as possible which may result in poor network utilization default 0 disabled 5 1 2 27 RTI_INT32 NDDS_Transport_TCPv4_Property_ t logging_verbosity_bitmap Bitmap that specifies the verbosity of log messages from the transport Logging values 1 Oxffffffff do not change the current verbosity 0x00 silence 0x01
36. pedef int x RTITLS Verify Callback int preverify ok X509 STORE_CTX xx509_ctx Callback used to verify peer certificates Functions void RTITLS_thread exit clean up OpenSSL resources for current thread call before exit int RTITLS default verify callback int ok X509 STORE CTX xstore Default verify callback log errors when verification fails int RTITLS_verbose_verify_callback int ok X509 STORE CTX xstore Verbose verify callback log information about successful verification as well as errors when verification fails 4 7 1 Detailed Description OpenSSL configuration interfaces and definitions 4 7 2 Define Documentation 4 7 2 1 define RTITLS_VERIFY DEFAULT Value Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 7 RTI TLS Support 27 NULL NULL ca_file ca_path 1 verify_depth no depth limit NULL callback use default verify callback NULL crl_file Use this to initialize a RTITLS_Verfication structure 4 7 2 2 define RTITLS IDENTITY DEFAULT Value t NULL certificate_chain NULL certificate_chain_file NULL private_key_password MX NULL private_key NULL private_key_file NULL rsa_private_key NULL rsa_private_key_file Use this to initialize a RTITLS_Identity p 61 structure 4 7 2 3 define RTITLS_CIPHER_LIST DEFAULT AES ALL aNULL eNULL RC4 STRENGTH
37. pv4_ wan 10 10 1 165 7400 tepv4_wan 10 10 1 111 7400 tcepv4_ lan 192 168 1 1 7500 When the TCP transport is configured for LAN communication with the NDDS_Transport_Property t classid property the IP address is the LAN address of the peer and the port is the server port used by the transport the NDDS_Transport_TCPv4 Property t server_bind_port p 50 property When the TCP transport is configured for WAN communication with the NDDS_ Transport Property t classid property the IP address is the WAN or public address of the peer and the port is the public port that is used to forward traffic to the server port in the TCP transport Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 22 Module Documentation 4 5 Configure TCP Transport with Property QoS Policy Predefined properties that can be used to configure the TCP Transport plugin through the Property QoS Policy of the DomainParticipant Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 5 Configure TCP Transport with Property QoS Policy 23 Property Name Description Required dds transport load_ Comma separated YES plugins strings indicating the prefix names of all plugins that will be loaded by RTI Connext Up to 8 plugins may be specified For example dds transport T CPv4 tdp1 In the following examples lt TCP_prefiz gt indicates the string that is used as a prefix in the pr
38. r throughput in those conditions the caller thread could prepare the next packet while waiting for the send socket buffer to become available default 0 synchronous send Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 5 1 NDDS_Transport_TCPv4_Property_t Struct Reference 53 5 1 2 19 NDDS_Transport_TCPv4_ OnConnectionEstablishedCallback NDDS_Transport_TCPv4_Property_t on_connection_ established Pointer to a function that is called whenever the plugin establish a connection with a remote peer For plugins configured to behave as servers this function is called every time a remote client successfully establish a data communication For plugins configured to behave as clients this function is called for every successful connection to a remote server It can be set to NULL no notification callbacks are performed IMPORTANT This function is called from the receive thread both client server side if you don t return the control fast enough the control protocol may be affected causing disconnections and or delays in establishing connections with remote peers default NULL 5 1 2 20 NDDS_Transport_TCPv4_OnConnectionLostCallback NDDS_Transport_TCPv4_Property t 0n connection lost Pointer to a function that is called when a previously established connection with a remote peer gets closed It can be set to NULL no notification callbacks are performed IMPORTANT This function is called
39. ransport by Doxygen 4 3 TCP Transport Plugin API 15 4 3 2 6 define NDDS_TRANSPORT_TCPV4_SERVER_ SOCKET BACKLOG DEFAULT 5 The max number of pending connections waiting for the control thread to accept them 4 3 2 7 define NDDS_TRANSPORT_TCPV4_ADDRESS_BIT_ COUNT 64 Number of signficant bits of 16 byte address 4 3 2 8 define NDDS_ TRANSPORT_TCPV4 READ BUFFER POOL GROWTH _ POLICY DEFAULT NDDS TRANSPORT_ALLOCATION SETTINGS DEFAULT The default settings for the buffer pool used to provide memory for the received messages 4 3 2 9 define NDDS_TRANSPORT_TCPV4 WRITE BUFFER POOL GROWTH POLICY DEFAULT 4L 1000L 10L The default settings for the buffer used to provide memory for the bytes being written using asynchronous send 4 3 2 10 define NDDS_TRANSPORT_TCPV4_CONTROL_ BUFFER POOL GROWTH POLICY DEFAULT NDDS TRANSPORT ALLOCATION SETTINGS DEFAULT The default settings for the buffer pool used to provide memory for the control messages read or written 4 3 2 11 define NDDS_TRANSPORT_TCPV4_CONTROL_ MESSAGE FACTORY GROWTH POLICY DEFAULT NDDS TRANSPORT _ ALLOCATION SETTINGS DEFAULT The default settings for the buffer used to provide memory for the control mes sage factory Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 16 Module Documentation 4 3 2 12 define NDDS_TRANSPORT_TCPV4_CONTROL_ MESSAGE ATTRIBUTE FACTORY GROWTH POLICY DEFAULT NDDS_TRANSPORT
40. ransport plugin To use the default settings pass a pointer to a struct NDDS_Transport_TCPv4_ Property _t p 43 initialized with the macro NDDS_TRANSPORT TCPV4 PROPERTY DEFAULT p 17 Parameters property_in lt lt in gt gt A pointer to a struct NDDS_Transport_ TCPv4_Property t p 43 containing the transport property The plugin will make a copy of this structure before returning caller can safely destroy the object Returns A pointer to a newly instantiated plugin or NULL if an error occurred during creation 4 3 5 2 NDDS_Transport_Plugins NDDS_Transport_TCPv4_create NDDS_Transport_Address_t default_network_address_out const struct DDS_PropertyQosPolicy x property_in Creates an instance of a TCP Transport Plugin using PropertyQosPolicy For all the properties that are not specified the default value is assumed as de scribed in Configure TCP Transport with Property QoS Policy p 22 Parameters default_network_address_out lt lt out gt gt Unused parameter property_in lt lt in gt gt The DDS_PropertyQoSPolicy object containing the transport properties Returns A pointer to a newly instantiated plugin or NULL if an error occurred during creation Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 20 Module Documentation 4 3 5 3 RTIBool NDDS_Transport_TCPv4_Plugin stringToTransportAddress NDDS_Transport_Address_t x address_out const char address_in RTIBool
41. ransport_TCPv4_Property_ t outstanding_connection_cookies_life_span Maximum lifespan in seconds of the cookies associated with pending connec tions If a client does not connect to the server before the lifespan of its cookie expires it will have to request a new cookie Range 1 second or higher or 1 default 1 which means an unlimited amount of time effectively disabling the feature 5 1 2 30 RTIINT32 NDDS_Transport_TCPv4_Property_t send max_wait_sec Maximum number of seconds a low level TCP sendto function is allowed to block This property controls the maximum time in seconds the low level sendto is allowed to block the caller thread when the TCP send buffer becomes full If the bandwidth used by the transport is limited and the sender thread try to push data faster than the OS can handle the low level sendto function will block the caller until there is some room available on the queue By limiting this delay we eliminate possibility of deadlock and increase the response time of the internal DDS thread This property affects both CONTROL and DATA stream and affect only SYN CHRONOUS send operations Asynchronous send never blocks a send opera Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 5 1 NDDS_Transport_TCPv4_Property_t Struct Reference 57 tion For synchronous send this property limit the time the DDS sender thread can block for a send buffer full If is
42. rfaces just make sure the interface is UP 1 Check the flag when enumerating interfaces and ignore those that are not reported as RUNNING This can be used on some operating systems to cause the transport to ignore interfaces that are enabled but not connected to the network default 1 5 1 2 6 RTLINT32 NDDS_Transport_TCPv4_Property_ t transport_priority_mask Mask for the transport priority field This is used in conjunction with transport_priority_ mapping _low p 48 and transport_priority_mapping high p 49 to define the mapping from DDS transport priority see TRANSPORT_PRIORITY to the IPv4 TOS field Defines a contiguous region of bits in the 32 bit transport priority value that is used to generate values for the IPv4 TOS field on an outgoing socket For example the value 0x0000ff00 causes bits 9 16 8 bits to be used in the mapping The value will be scaled from the mask range 0x0000 Oxff00 in this case to the range specified by low and high If the mask is set to zero then the transport will not set IPv4 TOS for send sockets default 0 5 1 2 7 RTIINT32 NDDS_Transport_TCPv4_Property_ t transport_priority_mapping_low Sets the low value of the output range to IPv4 TOS This is used in conjunction with transport_priority_mask p 48 and trans port_priority_mapping high p 49 to define the mapping from DDS trans port priority to the IPv4 TOS field Defines the low value of the output range for scaling
43. rom using the IP loopback interface This property is ignored when parent classid is equal to NDDS_ TRANSPORT_CLASSID_TCPV4_WAN Two values are allowed 0 Enable local traffic via this plugin The plugin will only use and report the IP loopback interface only if there are no other network interfaces NICs up on the system 1 Disable local traffic via this plugin This means do not use the IP loopback interface even if no NICs are discovered This setting is useful when you want applications running on the same node to use a more efficient plugin like shared memory instead of the IP loopback default 1 5 1 2 5 RTIINT32 NDDS_Transport_TCPv4_Property _t ignore_ nonrunning_interfaces Prevents the transport plugin from using a network interface that is not reported as RUNNING by the operating system The transport checks the flags reported by the operating system for each network interface upon initialization An interface which is not reported as UP will not be used This property allows the same check to be extended to the IFF_ RUNNING flag implemented by some operating systems The RUNNING flag Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 48 Data Structure Documentation is defined to mean that all resources are allocated and may be off if no link is detected e g the network cable is unplugged Two values are allowed 0 Do not check the RUNNING flag when enumerating inte
44. t Utilities Modules Connection Endpoint Abstractions Connection Endpoint and Factory Abstractions 4 1 1 Detailed Description Socket Utilities 10 Module Documentation 4 2 Connection Endpoint Abstractions Connection Endpoint and Factory Abstractions Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 4 3 TCP Transport Plugin API 11 4 3 TCP Transport Plugin API TCP Transport Plugin interfaces and definitions Data Structures struct NDDS_Transport_TCPv4_Property_t Configurable TCP Transport Plugin properties Defines define NDDS_TRANSPORT_CLASSNAME_TCPV4 LAN tcpv4 lan IPv4 TCP IP Transport Plugin class name for LAN case define NDDS_TRANSPORT_CLASSNAME_TCPV4_ WAN tcpv4_wan IPv4 TCP IP Transport Plugin class name for WAN case define NDDS_TRANSPORT_TCPV4_DEFAULT_PORT_ NUMBER 7400 The default value for the server bind port define NDDS_TRANSPORT_TCPV4_MESSAGE SIZE_MAX_ DEFAULT 9216 Default value of maximum message size define NDDS_TRANSPORT_TCPV4_SOCKET_BUFFER_ SIZE_OS_DEFAULT 1 Used to specify that os default should be used for the socket buffer size define NDDS_TRANSPORT_TCPV4_SERVER_SOCKET_ BACKLOG_DEFAULT 5 The max number of pending connections waiting for the control thread to accept them define NDDS_TRANSPORT_TCPV4_ADDRESS_BIT_ COUNT 64 Number of signficant bits of 16 byte address Generated on Mon Aug
45. te IP address space and use NAT Network Address Translation to communicate with other networks RTI TCP Transport enables participant discovery and data exchange using the TCP protocol either on a LAN or over the public WAN RTI TCP Transport enables RTI Connext to address the challenges of using TCP as a low level com munication mechanism between peers and limits the number of exposed ports to one When using the default UDP transport an RTI Connext application uses multiple UDP ports for communication which may make it unsuitable for deployment across firewalled networks 1 3 Configuring the TCP Transport The TCP transport is distributed as a shared library located under lt RTI Connext installation directory gt lib lt architecture gt The library is called nddstransporttcp There are two ways in which this transport can be configured 1 By setting up predefined property strings in the Property QoS Policy of the DomainParticipant on UNIX Solaris and Windows systems only Refer to Configure TCP Transport with Property QoS Policy p 22 for the predefined property strings With this first approach RTI Connext will dynamically load the TCP transport library at run time and then implicitly create and register the transport plugin 2 By instantiating a new transport and registering it with the DomainPar ticipant available in C C API only Refer to NDDS_Transport_TCPv4_new p 19 for information on how to create a new TCP
46. too large DDS not only won t be able to send more data but it won t be able to receive any more data because of an internal resource mutex Setting this property to 0 cause the low level function to report an immediate failure if the TCP send buffer is full Setting this property to 1 cause the low level function to block forever until space becomes available in the TCP buffer default 3 seconds 5 1 2 31 struct RTITLS_OpenSSL_Configuration NDDS_Transport_TCPv4_Property_t tls read OpenSSL TLS parameters default RTITLS_OpenSSL RTITLS_OPENSSL CONFIGURATION DEFAULT p 28 Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 58 Data Structure Documentation 5 2 RTITLS_Ciphers Struct Reference Set of TLS properties for cipher configuration Data Fields const char cipher_list List of available TLS ciphers DDS_Long dh_param_files_length Number of DH key files supplied struct RTITLS_DHParamFile x dh_param_files List of available DH key files const char engine_id ID of OpenSSL cipher engine to request 5 2 1 Detailed Description Set of TLS properties for cipher configuration 5 2 2 Field Documentation 5 2 2 1 const char RTITLS_Ciphers cipher_list List of available TLS ciphers See the OpenSSL manual page for SSL_set_cipher_list 3 or ciphers 1 for more information on the format of this string Some typical values are defined RTI TLS_Plugin RTITLS_CIPHER_LIST_DE
47. transport plugin and initializes it from the specified TCP transport property structure NDDS_Transport_Plugin NDDS_Transport_TCPv4_create NDDS_Transport_Address_t x default_network_address out const struct DDS_PropertyQosPolicy property_in Creates an instance of a TCP Transport Plugin using PropertyQosPolicy Generated on Mon Aug 13 09 10 11 2012 for RTI TCP Transport by Doxygen 14 Module Documentation RTIBool NDDS_Transport_TCPv4_Plugin stringToTransportAddress NDDS_Transport_Address_t xaddress_out const char xaddress_in RTIBool acceptHostName in Converts a string into a transport address suitable to be used with the TCP transport 4 3 1 Detailed Description TCP Transport Plugin interfaces and definitions 4 3 2 Define Documentation 4 3 2 1 define NDDS_ TRANSPORT CLASSNAME TCPV4 LAN tcpv4 _lan IPv4 TCP IP Transport Plugin class name for LAN case 4 3 2 2 define NDDS_TRANSPORT_CLASSNAME_TCPV4_ WAN tcpv4_wan IPv4 TCP IP Transport Plugin class name for WAN case 4 3 2 3 define NDDS_TRANSPORT_TCPV4_DEFAULT_PORT_ NUMBER 7400 The default value for the server bind port 4 3 2 4 define NDDS TRANSPORT TCPV4 MESSAGE SIZE MAX_DEFAULT 9216 Default value of maximum message size 4 3 2 5 define NDDS TRANSPORT TCPV4 SOCKET BUFFER_SIZE_OS_DEFAULT 1 Used to specify that os default should be used for the socket buffer size Generated on Mon Aug 13 09 10 11 2012 for RTI TCP T
Download Pdf Manuals
Related Search
Related Contents
Dpi1701 Manuale Utente Guia de rede download 《S30830T-CPE》 取扱説明書 (第3版): CPE83SUJ manuel d`utilisation owner`s manual gebrauchsanweisung manuale Technical Application Note TAN2007003 Samsung 460UT Керівництво користувача RPS-1230-SWD - Radio Center - ProductReview.com.au Installation manual KIMA ZONE 50 Copyright © All rights reserved.
Failed to retrieve file