diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/DEPRECATE.md | 40 | ||||
-rw-r--r-- | docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 | 4 | ||||
-rw-r--r-- | docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 | 4 | ||||
-rw-r--r-- | docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3 | 4 | ||||
-rw-r--r-- | docs/libcurl/opts/CURLMOPT_PIPELINING.3 | 10 | ||||
-rw-r--r-- | docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3 | 4 | ||||
-rw-r--r-- | docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3 | 4 |
7 files changed, 20 insertions, 50 deletions
diff --git a/docs/DEPRECATE.md b/docs/DEPRECATE.md index 27bd22ff7..2ead9567e 100644 --- a/docs/DEPRECATE.md +++ b/docs/DEPRECATE.md @@ -5,46 +5,6 @@ email the curl-library mailing list as soon as possible and explain to us why this is a problem for you and how your use case can't be satisfied properly using a work around. -## HTTP pipelining - -HTTP pipelining is badly supported by curl in the sense that we have bugs and -it is a fragile feature without enough tests. Also, when something turns out -to have problems it is really tricky to debug due to the timing sensitivity so -very often enabling debug outputs or similar completely changes the nature of -the behavior and things are not reproducing anymore! - -HTTP pipelining was never enabled by default by the large desktop browsers due -to all the issues with it. Both Firefox and Chrome have also dropped -pipelining support entirely since a long time back now. We are in fact over -time becoming more and more lonely in supporting pipelining. - -The bad state of HTTP pipelining was a primary driving factor behind HTTP/2 -and its multiplexing feature. HTTP/2 multiplexing is truly and really -"pipelining done right". It is way more solid, practical and solves the use -case in a better way with better performance and fewer downsides and problems. - -In 2018, pipelining *should* be abandoned and HTTP/2 should be used instead. - -### State - -In 7.62.0, we will add code that ignores the "enable pipeline" option -setting). The *setopt() function would still return "OK" though so the -application couldn't tell that this is happening. - -Users who truly need pipelining from that version will need to modify the code -(ever so slightly) and rebuild. - -### Removal - -Six months later, in sync with the planned release happen in April 2019, -(might be 7.66.0), assuming no major riots have occurred due to this in the -mean time, we rip out the pipelining code. It is in the order of 1000 lines of -libcurl code. - -Left to answer: should the *setopt() function start to return error when these -options are set to be able to tell when they're trying to use options that are -no longer around or should we maintain behavior as much as possible? - ## `CURLOPT_DNS_USE_GLOBAL_CACHE` This option makes libcurl use a global non-thread-safe cache for DNS if diff --git a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 index f07676082..cbe4f30c9 100644 --- a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 +++ b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al. +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -28,6 +28,8 @@ CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE \- chunk length threshold for pipelining CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, long size); .SH DESCRIPTION +No function since pipelining was removed in 7.62.0. + Pass a long with a \fBsize\fP in bytes. If a pipelined connection is currently processing a chunked (Transfer-encoding: chunked) request with a current chunk length larger than \fICURLMOPT_CHUNK_LENGTH_PENALTY_SIZE(3)\fP, that pipeline diff --git a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 index c7a004041..36083f65c 100644 --- a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 +++ b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al. +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -28,6 +28,8 @@ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE \- size threshold for pipelining penalty CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, long size); .SH DESCRIPTION +No function since pipelining was removed in 7.62.0. + Pass a long with a \fBsize\fP in bytes. If a pipelined connection is currently processing a request with a Content-Length larger than this \fICURLMOPT_CONTENT_LENGTH_PENALTY_SIZE(3)\fP, that pipeline will then not be diff --git a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3 b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3 index 4ced6bfb9..00c81e683 100644 --- a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3 +++ b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al. +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -28,6 +28,8 @@ CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_PIPELINE_LENGTH, long max); .SH DESCRIPTION +No function since pipelining was removed in 7.62.0. + Pass a long. The set \fBmax\fP number will be used as the maximum amount of outstanding requests in an HTTP/1.1 pipelined connection. This option is only used for HTTP/1.1 pipelining, not for HTTP/2 multiplexing. diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING.3 index 48e058796..5be2d62f0 100644 --- a/docs/libcurl/opts/CURLMOPT_PIPELINING.3 +++ b/docs/libcurl/opts/CURLMOPT_PIPELINING.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al. +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -71,12 +71,12 @@ HTTP(S) .SH EXAMPLE .nf CURLM *m = curl_multi_init(); -/* try HTTP/1 pipelining and HTTP/2 multiplexing */ -curl_multi_setopt(m, CURLMOPT_PIPELINING, CURLPIPE_HTTP1 | - CURLPIPE_MULTIPLEX); +/* try HTTP/2 multiplexing */ +curl_multi_setopt(m, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX); .fi .SH AVAILABILITY -Added in 7.16.0. Multiplex support bit added in 7.43.0. +Added in 7.16.0. Multiplex support bit added in 7.43.0. HTTP/1 Pipelining +support was disabled in 7.62.0. .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3 index 457bef232..405645080 100644 --- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3 +++ b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al. +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -28,6 +28,8 @@ CURLMOPT_PIPELINING_SERVER_BL \- pipelining server blacklist CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SERVER_BL, char **servers); .SH DESCRIPTION +No function since pipelining was removed in 7.62.0. + Pass a \fBservers\fP array of char *, ending with a NULL entry. This is a list of server types prefixes (in the Server: HTTP header) that are blacklisted from pipelining, i.e server types that are known to not support HTTP diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3 index 8c5f5d410..279d9ea57 100644 --- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3 +++ b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al. +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -28,6 +28,8 @@ CURLMOPT_PIPELINING_SITE_BL \- pipelining host blacklist CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SITE_BL, char **hosts); .SH DESCRIPTION +No function since pipelining was removed in 7.62.0. + Pass a \fBhosts\fP array of char *, ending with a NULL entry. This is a list of sites that are blacklisted from pipelining, i.e sites that are known to not support HTTP pipelining. The array is copied by libcurl. |