|
|
@ -256,8 +256,27 @@ namespace transport |
|
|
|
socket.open (localEndpoint.protocol ()); |
|
|
|
socket.open (localEndpoint.protocol ()); |
|
|
|
if (localEndpoint.address ().is_v6 ()) |
|
|
|
if (localEndpoint.address ().is_v6 ()) |
|
|
|
socket.set_option (boost::asio::ip::v6_only (true)); |
|
|
|
socket.set_option (boost::asio::ip::v6_only (true)); |
|
|
|
socket.set_option (boost::asio::socket_base::receive_buffer_size (SSU2_SOCKET_RECEIVE_BUFFER_SIZE)); |
|
|
|
boost::asio::socket_base::receive_buffer_size receive_buffer_size_set (SSU2_SOCKET_RECEIVE_BUFFER_SIZE); |
|
|
|
socket.set_option (boost::asio::socket_base::send_buffer_size (SSU2_SOCKET_SEND_BUFFER_SIZE)); |
|
|
|
boost::asio::socket_base::send_buffer_size send_buffer_size_set (SSU2_SOCKET_SEND_BUFFER_SIZE); |
|
|
|
|
|
|
|
socket.set_option (receive_buffer_size_set); |
|
|
|
|
|
|
|
socket.set_option (send_buffer_size_set); |
|
|
|
|
|
|
|
boost::asio::socket_base::receive_buffer_size receive_buffer_size_get; |
|
|
|
|
|
|
|
boost::asio::socket_base::send_buffer_size send_buffer_size_get; |
|
|
|
|
|
|
|
socket.get_option (receive_buffer_size_get); |
|
|
|
|
|
|
|
socket.get_option (send_buffer_size_get); |
|
|
|
|
|
|
|
if (receive_buffer_size_get.value () != receive_buffer_size_set.value () || |
|
|
|
|
|
|
|
send_buffer_size_get.value () != send_buffer_size_set.value ()) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
LogPrint (eLogWarning, "SSU2: Socket receive buffer size: requested = ", |
|
|
|
|
|
|
|
receive_buffer_size_set.value (), ", got = ", receive_buffer_size_get.value ()); |
|
|
|
|
|
|
|
LogPrint (eLogWarning, "SSU2: Socket send buffer size: requested = ", |
|
|
|
|
|
|
|
send_buffer_size_set.value (), ", got = ", send_buffer_size_get.value ()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
LogPrint (eLogInfo, "SSU2: Socket receive buffer size: ", receive_buffer_size_get.value ()); |
|
|
|
|
|
|
|
LogPrint (eLogInfo, "SSU2: Socket send buffer size: ", send_buffer_size_get.value ()); |
|
|
|
|
|
|
|
} |
|
|
|
socket.non_blocking (true); |
|
|
|
socket.non_blocking (true); |
|
|
|
} |
|
|
|
} |
|
|
|
catch (std::exception& ex ) |
|
|
|
catch (std::exception& ex ) |
|
|
|