1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 23:58:49 -05:00

CURLOPT_BUFFERSIZE allows an application to set a prefered buffer size

for receiving data from the network. It is meant as a hint, not as a forced
limit.
This commit is contained in:
Daniel Stenberg 2002-06-15 21:00:54 +00:00
parent 5cb06d8fd6
commit e54e0c7877
3 changed files with 17 additions and 1 deletions

View File

@ -220,7 +220,9 @@ CURLcode Curl_readwrite(struct connectdata *conn,
/* read! */
result = Curl_read(conn, conn->sockfd, k->buf,
BUFSIZE -1, &nread);
data->set.buffer_size?
data->set.buffer_size:BUFSIZE -1,
&nread);
if(0>result)
break; /* get out of loop */

View File

@ -1011,6 +1011,19 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...)
*/
data->set.telnet_options = va_arg(param, struct curl_slist *);
break;
case CURLOPT_BUFFERSIZE:
/*
* The application kindly asks for a differently sized receive buffer.
* If it seems reasonable, we'll use it.
*/
data->set.buffer_size = va_arg(param, long);
if(data->set.buffer_size> (BUFSIZE -1 ))
data->set.buffer_size = 0; /* huge internal default */
break;
default:
/* unknown tag and its companion, just ignore: */
return CURLE_FAILED_INIT; /* correct this */

View File

@ -631,6 +631,7 @@ struct UserDefined {
struct ssl_config_data ssl; /* user defined SSL stuff */
int dns_cache_timeout; /* DNS cache timeout */
long buffer_size; /* size of receive buffer to use */
/* Here follows boolean settings that define how to behave during
this session. They are STATIC, set by libcurl users or at least initially