From 1d84bb564cfd866111adbff7cff321cbdada2fb7 Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nicolas.pope@utu.fi> Date: Thu, 17 Nov 2022 07:36:59 +0000 Subject: [PATCH] Allow socket buffers to be unset --- src/peer.cpp | 13 ++++++++++--- src/protocol/connection.cpp | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/peer.cpp b/src/peer.cpp index e6f4e39..5f6b1b6 100644 --- a/src/peer.cpp +++ b/src/peer.cpp @@ -65,11 +65,18 @@ void Peer::_set_socket_options() { CHECK(net_); CHECK(sock_); + const size_t desiredSend = net_->getSendBufferSize(sock_->scheme()); + const size_t desiredRecv = net_->getRecvBufferSize(sock_->scheme()); + // error printed by set methods (return value ignored) - sock_->set_send_buffer_size(net_->getSendBufferSize(sock_->scheme())); - sock_->set_recv_buffer_size(net_->getRecvBufferSize(sock_->scheme())); + if (desiredSend > 0) { + sock_->set_send_buffer_size(desiredSend); + } + if (desiredRecv > 0) { + sock_->set_recv_buffer_size(desiredRecv); + } - DLOG(1) << "send buffer size: " << (sock_->get_send_buffer_size() >> 10) << "KiB, " + DLOG(INFO) << "send buffer size: " << (sock_->get_send_buffer_size() >> 10) << "KiB, " << "recv buffer size: " << (sock_->get_recv_buffer_size() >> 10) << "KiB"; } diff --git a/src/protocol/connection.cpp b/src/protocol/connection.cpp index 93d2d41..0ef451a 100644 --- a/src/protocol/connection.cpp +++ b/src/protocol/connection.cpp @@ -121,7 +121,7 @@ ssize_t SocketConnection::writev(const struct iovec *iov, int iovcnt) { DLOG(2) << "message required " << writev_calls << " writev() calls"; - if (can_increase_sock_buffer_) { + /*if (can_increase_sock_buffer_) { auto send_buf_size = sock_.get_send_buffer_size(); auto send_buf_size_new = size_t(sock_.get_send_buffer_size() * 1.5); @@ -142,7 +142,7 @@ ssize_t SocketConnection::writev(const struct iovec *iov, int iovcnt) { << "(buffer size: " << send_buf_size << ")"; can_increase_sock_buffer_ &= !error; } - } + }*/ return requested; } -- GitLab