mirror of
https://github.com/curl/curl.git
synced 2026-08-25 13:13:31 +03:00
CURLOPT_UPLOAD_BUFFERSIZE: set upload buffer size
This is step 3 of #2888. Fixes #2888 Closes #2896
This commit is contained in:
parent
87fefe5ebf
commit
2825f46d95
13 changed files with 115 additions and 17 deletions
|
|
@ -421,6 +421,8 @@ Size of file to send. \fICURLOPT_INFILESIZE(3)\fP
|
|||
Size of file to send. \fICURLOPT_INFILESIZE_LARGE(3)\fP
|
||||
.IP CURLOPT_UPLOAD
|
||||
Upload data. See \fICURLOPT_UPLOAD(3)\fP
|
||||
.IP CURLOPT_UPLOAD_BUFFERSIZE
|
||||
Set upload buffer size. See \fICURLOPT_UPLOAD_BUFFERSIZE(3)\fP
|
||||
.IP CURLOPT_MIMEPOST
|
||||
Post/send MIME data. See \fICURLOPT_MIMEPOST(3)\fP
|
||||
.IP CURLOPT_MAXFILESIZE
|
||||
|
|
|
|||
69
docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3
Normal file
69
docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
.\" **************************************************************************
|
||||
.\" * _ _ ____ _
|
||||
.\" * Project ___| | | | _ \| |
|
||||
.\" * / __| | | | |_) | |
|
||||
.\" * | (__| |_| | _ <| |___
|
||||
.\" * \___|\___/|_| \_\_____|
|
||||
.\" *
|
||||
.\" * Copyright (C) 1998 - 2018, 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
|
||||
.\" * are also available at https://curl.haxx.se/docs/copyright.html.
|
||||
.\" *
|
||||
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
.\" * copies of the Software, and permit persons to whom the Software is
|
||||
.\" * furnished to do so, under the terms of the COPYING file.
|
||||
.\" *
|
||||
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
.\" * KIND, either express or implied.
|
||||
.\" *
|
||||
.\" **************************************************************************
|
||||
.\"
|
||||
.TH CURLOPT_UPLOAD_BUFFERSIZE 3 "18 Aug 2018" "libcurl 7.62.0" "curl_easy_setopt options"
|
||||
.SH NAME
|
||||
CURLOPT_UPLOAD_BUFFERSIZE \- set preferred upload buffer size
|
||||
.SH SYNOPSIS
|
||||
#include <curl/curl.h>
|
||||
|
||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UPLOAD_BUFFERSIZE, long size);
|
||||
.SH DESCRIPTION
|
||||
Pass a long specifying your preferred \fIsize\fP (in bytes) for the upload
|
||||
buffer in libcurl. It makes libcurl uses a larger buffer that gets passed to
|
||||
the next layer in the stack to get sent off. In some setups and for some
|
||||
protocols, there's a huge performance benefit of having a larger upload
|
||||
buffer.
|
||||
|
||||
This is just treated as a request, not an order. You cannot be guaranteed to
|
||||
actually get the given size.
|
||||
|
||||
The upload buffer size is by default 64 kilobytes. The maximum buffer size
|
||||
allowed to be set is 2 megabytes. The minimum buffer size allowed to be set is
|
||||
16 kilobytes.
|
||||
|
||||
Since curl 7.61.1 the upload buffer is allocated on-demand - so if the handle
|
||||
isn't used for upload, this buffer will not be allocated at all.
|
||||
.SH DEFAULT
|
||||
64 kB
|
||||
.SH PROTOCOLS
|
||||
All
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
CURL *curl = curl_easy_init();
|
||||
if(curl) {
|
||||
curl_easy_setopt(curl, CURLOPT_URL, "sftp://example.com/foo.bin");
|
||||
|
||||
/* ask libcurl to allocate a larger upload buffer */
|
||||
curl_easy_setopt(curl, CURLOPT_UPLOAD_BUFFERSIZE, 120000L);
|
||||
|
||||
ret = curl_easy_perform(curl);
|
||||
|
||||
curl_easy_cleanup(curl);
|
||||
}
|
||||
.fi
|
||||
.SH AVAILABILITY
|
||||
Added in 7.62.0.
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
||||
.SH "SEE ALSO"
|
||||
.BR CURLOPT_BUFFERSIZE "(3), " CURLOPT_READFUNCTION "(3), "
|
||||
|
|
@ -327,6 +327,7 @@ man_MANS = \
|
|||
CURLOPT_UNIX_SOCKET_PATH.3 \
|
||||
CURLOPT_UNRESTRICTED_AUTH.3 \
|
||||
CURLOPT_UPLOAD.3 \
|
||||
CURLOPT_UPLOAD_BUFFERSIZE.3 \
|
||||
CURLOPT_URL.3 \
|
||||
CURLOPT_USERAGENT.3 \
|
||||
CURLOPT_USERNAME.3 \
|
||||
|
|
|
|||
|
|
@ -616,6 +616,7 @@ CURLOPT_TRANSFER_ENCODING 7.21.6
|
|||
CURLOPT_UNIX_SOCKET_PATH 7.40.0
|
||||
CURLOPT_UNRESTRICTED_AUTH 7.10.4
|
||||
CURLOPT_UPLOAD 7.1
|
||||
CURLOPT_UPLOAD_BUFFERSIZE 7.62.0
|
||||
CURLOPT_URL 7.1
|
||||
CURLOPT_USERAGENT 7.1
|
||||
CURLOPT_USERNAME 7.19.1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue