@@ -61,6 +61,8 @@ using eprosima::fastdds::rtps::UDPTransportDescriptor;
61
61
using eprosima::fastdds::rtps::UDPv4TransportDescriptor;
62
62
using eprosima::fastdds::rtps::UDPv6TransportDescriptor;
63
63
using eprosima::fastdds::rtps::IPLocator;
64
+ using eprosima::fastdds::rtps::BuiltinTransports;
65
+ using eprosima::fastdds::rtps::BuiltinTransportsOptions;
64
66
65
67
template <class TypeSupport >
66
68
class PubSubWriter
@@ -999,15 +1001,15 @@ class PubSubWriter
999
1001
}
1000
1002
1001
1003
PubSubWriter& setup_transports (
1002
- eprosima::fastdds::rtps:: BuiltinTransports transports)
1004
+ BuiltinTransports transports)
1003
1005
{
1004
1006
participant_qos_.setup_transports (transports);
1005
1007
return *this ;
1006
1008
}
1007
1009
1008
1010
PubSubWriter& setup_transports (
1009
- eprosima::fastdds::rtps:: BuiltinTransports transports,
1010
- const eprosima::fastdds::rtps:: BuiltinTransportsOptions& options)
1011
+ BuiltinTransports transports,
1012
+ const BuiltinTransportsOptions& options)
1011
1013
{
1012
1014
participant_qos_.setup_transports (transports, options);
1013
1015
return *this ;
@@ -1016,9 +1018,10 @@ class PubSubWriter
1016
1018
PubSubWriter& setup_large_data_tcp (
1017
1019
bool v6 = false ,
1018
1020
const uint16_t & port = 0 ,
1019
- const uint32_t & tcp_negotiation_timeout = 0 )
1021
+ const BuiltinTransportsOptions& options = BuiltinTransportsOptions() )
1020
1022
{
1021
1023
participant_qos_.transport ().use_builtin_transports = false ;
1024
+ participant_qos_.transport ().max_msg_size_no_frag = options.maxMessageSize ;
1022
1025
1023
1026
/* Transports configuration */
1024
1027
// UDP transport for PDP over multicast
@@ -1028,6 +1031,9 @@ class PubSubWriter
1028
1031
if (v6)
1029
1032
{
1030
1033
auto pdp_transport = std::make_shared<eprosima::fastdds::rtps::UDPv6TransportDescriptor>();
1034
+ pdp_transport->maxMessageSize = options.maxMessageSize ;
1035
+ pdp_transport->sendBufferSize = options.sockets_buffer_size ;
1036
+ pdp_transport->receiveBufferSize = options.sockets_buffer_size ;
1031
1037
participant_qos_.transport ().user_transports .push_back (pdp_transport);
1032
1038
1033
1039
auto data_transport = std::make_shared<eprosima::fastdds::rtps::TCPv6TransportDescriptor>();
@@ -1036,12 +1042,18 @@ class PubSubWriter
1036
1042
data_transport->check_crc = false ;
1037
1043
data_transport->apply_security = false ;
1038
1044
data_transport->enable_tcp_nodelay = true ;
1039
- data_transport->tcp_negotiation_timeout = tcp_negotiation_timeout;
1045
+ data_transport->maxMessageSize = options.maxMessageSize ;
1046
+ data_transport->sendBufferSize = options.sockets_buffer_size ;
1047
+ data_transport->receiveBufferSize = options.sockets_buffer_size ;
1048
+ data_transport->tcp_negotiation_timeout = options.tcp_negotiation_timeout ;
1040
1049
participant_qos_.transport ().user_transports .push_back (data_transport);
1041
1050
}
1042
1051
else
1043
1052
{
1044
1053
auto pdp_transport = std::make_shared<eprosima::fastdds::rtps::UDPv4TransportDescriptor>();
1054
+ pdp_transport->maxMessageSize = options.maxMessageSize ;
1055
+ pdp_transport->sendBufferSize = options.sockets_buffer_size ;
1056
+ pdp_transport->receiveBufferSize = options.sockets_buffer_size ;
1045
1057
participant_qos_.transport ().user_transports .push_back (pdp_transport);
1046
1058
1047
1059
auto data_transport = std::make_shared<eprosima::fastdds::rtps::TCPv4TransportDescriptor>();
@@ -1050,7 +1062,10 @@ class PubSubWriter
1050
1062
data_transport->check_crc = false ;
1051
1063
data_transport->apply_security = false ;
1052
1064
data_transport->enable_tcp_nodelay = true ;
1053
- data_transport->tcp_negotiation_timeout = tcp_negotiation_timeout;
1065
+ data_transport->maxMessageSize = options.maxMessageSize ;
1066
+ data_transport->sendBufferSize = options.sockets_buffer_size ;
1067
+ data_transport->receiveBufferSize = options.sockets_buffer_size ;
1068
+ data_transport->tcp_negotiation_timeout = options.tcp_negotiation_timeout ;
1054
1069
participant_qos_.transport ().user_transports .push_back (data_transport);
1055
1070
}
1056
1071
0 commit comments