diff options
author | Vasil Dimov <vd@FreeBSD.org> | 2021-04-13 14:01:44 +0200 |
---|---|---|
committer | Vasil Dimov <vd@FreeBSD.org> | 2022-04-15 09:39:25 +0200 |
commit | a2c4a7acd1dfb2fb7e3c9dac6b3d8c9354b2e0a6 (patch) | |
tree | 0573c7c80f15532d086a43fe392c9fa1f55a4b69 /src/netbase.cpp | |
parent | d65b6c3fb9cdd41fa53bc76a7b8f49aaa089b0bc (diff) |
net: use Sock::SetSockOpt() instead of standalone SetSocketNoDelay()
Since the former is mockable, this makes it easier to test higher level
code that sets the TCP_NODELAY flag.
Diffstat (limited to 'src/netbase.cpp')
-rw-r--r-- | src/netbase.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/netbase.cpp b/src/netbase.cpp index 0860851678..9557297df1 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -519,7 +519,10 @@ std::unique_ptr<Sock> CreateSockTCP(const CService& address_family) #endif // Set the no-delay option (disable Nagle's algorithm) on the TCP socket. - SetSocketNoDelay(sock->Get()); + const int on{1}; + if (sock->SetSockOpt(IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)) == SOCKET_ERROR) { + LogPrint(BCLog::NET, "Unable to set TCP_NODELAY on a newly created socket, continuing anyway\n"); + } // Set the non-blocking option on the socket. if (!SetSocketNonBlocking(sock->Get())) { @@ -729,13 +732,6 @@ bool SetSocketNonBlocking(const SOCKET& hSocket) return true; } -bool SetSocketNoDelay(const SOCKET& hSocket) -{ - int set = 1; - int rc = setsockopt(hSocket, IPPROTO_TCP, TCP_NODELAY, (const char*)&set, sizeof(int)); - return rc == 0; -} - void InterruptSocks5(bool interrupt) { interruptSocks5Recv = interrupt; |