From 4732ca5724072f132876f520c8f02c7c5b654d95 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 30 Jun 2016 14:56:02 +0200 Subject: CURLOPT_TCP_NODELAY: now enabled by default MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After a few wasted hours hunting down the reason for slowness during a TLS handshake that turned out to be because of TCP_NODELAY not being set, I think we have enough motivation to toggle the default for this option. We now enable TCP_NODELAY by default and allow applications to switch it off. This also makes --tcp-nodelay unnecessary, but --no-tcp-nodelay can be used to disable it. Thanks-to: Tim Rühsen Bug: https://curl.haxx.se/mail/lib-2016-06/0143.html --- lib/http2.c | 4 ---- lib/url.c | 1 + 2 files changed, 1 insertion(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/http2.c b/lib/http2.c index 8e10c6601..5bed6fcdf 100644 --- a/lib/http2.c +++ b/lib/http2.c @@ -1849,10 +1849,6 @@ CURLcode Curl_http2_setup(struct connectdata *conn) infof(conn->data, "Connection state changed (HTTP/2 confirmed)\n"); Curl_multi_connchanged(conn->data->multi); - /* switch on TCP_NODELAY as we need to send off packets without delay for - maximum throughput */ - Curl_tcpnodelay(conn, conn->sock[FIRSTSOCKET]); - return CURLE_OK; } diff --git a/lib/url.c b/lib/url.c index da48da6b9..bda3ccddb 100644 --- a/lib/url.c +++ b/lib/url.c @@ -602,6 +602,7 @@ CURLcode Curl_init_userdefined(struct UserDefined *set) set->tcp_keepintvl = 60; set->tcp_keepidle = 60; set->tcp_fastopen = FALSE; + set->tcp_nodelay = TRUE; set->ssl_enable_npn = TRUE; set->ssl_enable_alpn = TRUE; -- cgit v1.2.3