From 6b7616690e5370c21e3a760321af6bf4edbabfb6 Mon Sep 17 00:00:00 2001 From: Richy Kim Date: Tue, 20 Dec 2016 05:48:15 -0500 Subject: CURLOPT_BUFFERSIZE: support enlarging receive buffer Replace use of fixed macro BUFSIZE to define the size of the receive buffer. Reappropriate CURLOPT_BUFFERSIZE to include enlarging receive buffer size. Upon setting, resize buffer if larger than the current default size up to a MAX_BUFSIZE (512KB). This can benefit protocols like SFTP. Closes #1222 --- docs/libcurl/curl_easy_setopt.3 | 2 +- docs/libcurl/opts/CURLOPT_BUFFERSIZE.3 | 18 ++++++++++-------- docs/libcurl/symbols-in-versions | 1 + 3 files changed, 12 insertions(+), 9 deletions(-) (limited to 'docs') diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3 index 66f573464..422cb8569 100644 --- a/docs/libcurl/curl_easy_setopt.3 +++ b/docs/libcurl/curl_easy_setopt.3 @@ -190,7 +190,7 @@ Timeout for DNS cache. See \fICURLOPT_DNS_CACHE_TIMEOUT(3)\fP .IP CURLOPT_DNS_USE_GLOBAL_CACHE OBSOLETE Enable global DNS cache. See \fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP .IP CURLOPT_BUFFERSIZE -Ask for smaller buffer size. See \fICURLOPT_BUFFERSIZE(3)\fP +Ask for alternate buffer size. See \fICURLOPT_BUFFERSIZE(3)\fP .IP CURLOPT_PORT Port number to connect to. See \fICURLOPT_PORT(3)\fP .IP CURLOPT_TCP_FASTOPEN diff --git a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3 b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3 index 113118e73..dc5bf74f2 100644 --- a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3 +++ b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. +.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -30,20 +30,22 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_BUFFERSIZE, long size); .SH DESCRIPTION Pass a long specifying your preferred \fIsize\fP (in bytes) for the receive buffer in libcurl. The main point of this would be that the write callback -gets called more often and with smaller chunks. This is just treated as a -request, not an order. You cannot be guaranteed to actually get the given -size. +gets called more often and with smaller chunks. Secondly, for some protocols, +there's a benefit of having a larger buffer for performance. -This size is by default set as big as possible (\fICURL_MAX_WRITE_SIZE\fP), so -it only makes sense to use this option if you want it smaller. +This is just treated as a request, not an order. You cannot be guaranteed to +actually get the given size. + +This buffer size is by default \fICURL_MAX_WRITE_SIZE\fP (16kB). The maximum +buffer size allowed to set is \fICURL_MAX_READ_SIZE\fP (512kB). .SH DEFAULT -CURL_MAX_WRITE_SIZE +CURL_MAX_WRITE_SIZE (16kB) .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY -Added in 7.10 +Added in 7.10. Growing the buffer was added in 7.53.0. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions index 89672c5e9..8834ada54 100644 --- a/docs/libcurl/symbols-in-versions +++ b/docs/libcurl/symbols-in-versions @@ -748,6 +748,7 @@ CURL_LOCK_TYPE_DNS 7.10 - 7.10.2 CURL_LOCK_TYPE_NONE 7.10 - 7.10.2 CURL_LOCK_TYPE_SSL_SESSION 7.10 - 7.10.2 CURL_MAX_HTTP_HEADER 7.19.7 +CURL_MAX_READ_SIZE 7.53.0 CURL_MAX_WRITE_SIZE 7.9.7 CURL_NETRC_IGNORED 7.9.8 CURL_NETRC_OPTIONAL 7.9.8 -- cgit v1.2.3