aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2016-06-30 14:56:02 +0200
committerDaniel Stenberg <daniel@haxx.se>2016-08-05 00:12:57 +0200
commit4732ca5724072f132876f520c8f02c7c5b654d95 (patch)
treeff3f154c9dd3e651193c8bb3585fabf277573a03 /lib
parentedeabf741fed90aecb39bb38dc0eeb68d6e305eb (diff)
CURLOPT_TCP_NODELAY: now enabled by default
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
Diffstat (limited to 'lib')
-rw-r--r--lib/http2.c4
-rw-r--r--lib/url.c1
2 files changed, 1 insertions, 4 deletions
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;