| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- .\" generated by cd2nroff 0.1 from CURLOPT_BUFFERSIZE.md
- .TH CURLOPT_BUFFERSIZE 3 "2025-01-17" libcurl
- .SH NAME
- CURLOPT_BUFFERSIZE \- receive buffer size
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- CURLcode curl_easy_setopt(CURL *handle, CURLOPT_BUFFERSIZE, long size);
- .fi
- .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. Secondly, for some protocols, there
- is a benefit of having a larger buffer for performance.
- 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 be set is \fICURL_MAX_READ_SIZE\fP (10MB). The minimum
- buffer size allowed to be set is 1024.
- DO NOT set this option on a handle that is currently used for an active
- transfer as that may lead to unintended consequences.
- The maximum size was 512kB until 7.88.0.
- Starting in libcurl 8.7.0, there is just a single transfer buffer allocated
- per multi handle. This buffer is used by all easy handles added to a multi
- handle no matter how many parallel transfers there are. The buffer remains
- allocated as long as there are active transfers.
- .SH DEFAULT
- CURL_MAX_WRITE_SIZE (16kB)
- .SH PROTOCOLS
- This functionality affects all supported protocols
- .SH EXAMPLE
- .nf
- int main(void)
- {
- CURL *curl = curl_easy_init();
- if(curl) {
- CURLcode res;
- curl_easy_setopt(curl, CURLOPT_URL, "sftp://example.com/foo.bin");
- /* ask libcurl to allocate a larger receive buffer */
- curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, 120000L);
- res = curl_easy_perform(curl);
- curl_easy_cleanup(curl);
- }
- }
- .fi
- .SH AVAILABILITY
- Added in curl 7.10
- .SH RETURN VALUE
- Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
- .SH SEE ALSO
- .BR CURLOPT_MAXFILESIZE (3),
- .BR CURLOPT_MAX_RECV_SPEED_LARGE (3),
- .BR CURLOPT_UPLOAD_BUFFERSIZE (3),
- .BR CURLOPT_WRITEFUNCTION (3)
|