20#ifndef FASTDDS_RTPS_TRANSPORT__TCPTRANSPORTDESCRIPTOR_HPP
21#define FASTDDS_RTPS_TRANSPORT__TCPTRANSPORTDESCRIPTOR_HPP
28#include <fastdds/rtps/attributes/ThreadSettings.hpp>
29#include <fastdds/rtps/transport/SocketTransportDescriptor.hpp>
30#include <fastdds/fastdds_dll.hpp>
229 return (
options & option) == option;
236 return (this->password == t.
password &&
Virtual base class for the data type used to define configuration of transports using sockets.
Definition SocketTransportDescriptor.hpp:53
TLS Configuration.
Definition TCPTransportDescriptor.hpp:100
TLSOptions
Supported TLS features.
Definition TCPTransportDescriptor.hpp:124
@ NO_TLSV1_1
Definition TCPTransportDescriptor.hpp:131
@ NO_SSLV2
Definition TCPTransportDescriptor.hpp:128
@ NO_SSLV3
Definition TCPTransportDescriptor.hpp:129
@ NO_TLSV1_3
Definition TCPTransportDescriptor.hpp:133
@ DEFAULT_WORKAROUNDS
Definition TCPTransportDescriptor.hpp:126
@ NO_COMPRESSION
Definition TCPTransportDescriptor.hpp:127
@ NO_TLSV1
Definition TCPTransportDescriptor.hpp:130
@ SINGLE_DH_USE
Definition TCPTransportDescriptor.hpp:134
@ NONE
Definition TCPTransportDescriptor.hpp:125
@ NO_TLSV1_2
Definition TCPTransportDescriptor.hpp:132
int32_t verify_depth
Maximum allowed depth for verifying intermediate certificates. Do not override.
Definition TCPTransportDescriptor.hpp:196
void add_verify_mode(const TLSVerifyMode verify)
Add verification modes to the verification mode mask.
Definition TCPTransportDescriptor.hpp:205
TLSHandShakeRole handshake_role
Role that the transport will take on handshaking.
Definition TCPTransportDescriptor.hpp:200
bool get_verify_mode(const TLSVerifyMode verify) const
Get the verification mode mask.
Definition TCPTransportDescriptor.hpp:212
uint32_t options
SSL context options mask.
Definition TCPTransportDescriptor.hpp:180
std::string tmp_dh_file
Path to the Diffie-Hellman parameters file.
Definition TCPTransportDescriptor.hpp:186
std::string password
Password of the private_key_file or rsa_private_key_file.
Definition TCPTransportDescriptor.hpp:178
bool operator==(const TLSConfig &t) const
Comparison operator.
Definition TCPTransportDescriptor.hpp:233
uint8_t verify_mode
Verification mode mask.
Definition TCPTransportDescriptor.hpp:190
std::string server_name
Server name or host name required in case Server Name Indication (SNI) is used.
Definition TCPTransportDescriptor.hpp:202
TLSVerifyMode
Peer node verification options.
Definition TCPTransportDescriptor.hpp:153
@ VERIFY_FAIL_IF_NO_PEER_CERT
Definition TCPTransportDescriptor.hpp:157
@ VERIFY_NONE
Definition TCPTransportDescriptor.hpp:155
@ UNUSED
Definition TCPTransportDescriptor.hpp:154
@ VERIFY_PEER
Definition TCPTransportDescriptor.hpp:156
@ VERIFY_CLIENT_ONCE
Definition TCPTransportDescriptor.hpp:158
std::string verify_file
Path to the CA (Certification-Authority) file.
Definition TCPTransportDescriptor.hpp:188
bool default_verify_path
Look for verification files on the default paths.
Definition TCPTransportDescriptor.hpp:194
TLSHandShakeRole
Role that the transport will take on handshaking.
Definition TCPTransportDescriptor.hpp:171
@ CLIENT
Definition TCPTransportDescriptor.hpp:173
@ SERVER
Definition TCPTransportDescriptor.hpp:174
@ DEFAULT
Definition TCPTransportDescriptor.hpp:172
std::string private_key_file
Path to the private key certificate file.
Definition TCPTransportDescriptor.hpp:184
std::vector< std::string > verify_paths
Paths where the system will look for verification files.
Definition TCPTransportDescriptor.hpp:192
bool get_option(const TLSOptions option) const
Get the SSL Context options mask.
Definition TCPTransportDescriptor.hpp:226
void add_option(const TLSOptions option)
Add TLS features to the SSL Context options mask.
Definition TCPTransportDescriptor.hpp:219
std::string cert_chain_file
Path to the public certificate chain file.
Definition TCPTransportDescriptor.hpp:182
std::string rsa_private_key_file
Path to the private key RSA certificate file.
Definition TCPTransportDescriptor.hpp:198
TCP Transport configuration.
Definition TCPTransportDescriptor.hpp:70
uint16_t max_logical_port
Maximum number of logical ports to try during RTCP negotiation.
Definition TCPTransportDescriptor.hpp:259
uint32_t keep_alive_timeout_ms
Time since sending the last keep alive request to consider a connection as broken (ms)
Definition TCPTransportDescriptor.hpp:257
ThreadSettings accept_thread
Thread settings for the accept connections thread.
Definition TCPTransportDescriptor.hpp:288
virtual ~TCPTransportDescriptor()=default
Destructor.
FASTDDS_EXPORTED_API TCPTransportDescriptor & operator=(const TCPTransportDescriptor &t)
Copy assignment.
bool enable_tcp_nodelay
Enables the TCP_NODELAY socket option.
Definition TCPTransportDescriptor.hpp:273
bool calculate_crc
Enables the calculation and sending of CRC on message headers.
Definition TCPTransportDescriptor.hpp:275
uint16_t logical_port_increment
Increment between logical ports to try during RTCP negotiation.
Definition TCPTransportDescriptor.hpp:263
bool apply_security
Enables the use of TLS (Transport Layer Security)
Definition TCPTransportDescriptor.hpp:279
TLSConfig tls_config
Configuration of the TLS (Transport Layer Security)
Definition TCPTransportDescriptor.hpp:282
bool non_blocking_send
Whether to use non-blocking calls to send().
Definition TCPTransportDescriptor.hpp:302
uint32_t tcp_negotiation_timeout
Time to wait for logical port negotiation (ms).
Definition TCPTransportDescriptor.hpp:270
bool check_crc
Enables checking the CRC of incoming message headers.
Definition TCPTransportDescriptor.hpp:277
std::vector< uint16_t > listening_ports
List of ports to listen as server.
Definition TCPTransportDescriptor.hpp:253
uint16_t logical_port_range
Maximum number of logical ports per request to try during RTCP negotiation.
Definition TCPTransportDescriptor.hpp:261
FASTDDS_EXPORTED_API TCPTransportDescriptor()
Constructor.
FASTDDS_EXPORTED_API TCPTransportDescriptor(const TCPTransportDescriptor &t)
Copy constructor.
FASTDDS_EXPORTED_API bool operator==(const TCPTransportDescriptor &t) const
Comparison operator.
void add_listener_port(uint16_t port)
Add listener port to the listening_ports list.
Definition TCPTransportDescriptor.hpp:305
uint32_t keep_alive_frequency_ms
Frequency of RTCP keep alive requests (ms)
Definition TCPTransportDescriptor.hpp:255
ThreadSettings keep_alive_thread
Thread settings for keep alive thread.
Definition TCPTransportDescriptor.hpp:285
Struct ThreadSettings to specify various thread settings.
Definition ThreadSettings.hpp:37