mirror of https://github.com/moparisthebest/curl
send_speed: simplify the checks for if a speed limit is set
... as we know the value cannot be set to negative: enforced by setopt()
This commit is contained in:
parent
24e469f6d6
commit
b5726e5549
|
@ -1167,7 +1167,7 @@ static size_t readmoredata(char *buffer,
|
||||||
/* make sure that a HTTP request is never sent away chunked! */
|
/* make sure that a HTTP request is never sent away chunked! */
|
||||||
data->req.forbidchunk = (http->sending == HTTPSEND_REQUEST)?TRUE:FALSE;
|
data->req.forbidchunk = (http->sending == HTTPSEND_REQUEST)?TRUE:FALSE;
|
||||||
|
|
||||||
if((data->set.max_send_speed > 0) &&
|
if(data->set.max_send_speed &&
|
||||||
(data->set.max_send_speed < http->postsize))
|
(data->set.max_send_speed < http->postsize))
|
||||||
/* speed limit */
|
/* speed limit */
|
||||||
fullsize = (size_t)data->set.max_send_speed;
|
fullsize = (size_t)data->set.max_send_speed;
|
||||||
|
|
|
@ -2069,7 +2069,7 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
send_timeout_ms = 0;
|
send_timeout_ms = 0;
|
||||||
if(data->set.max_send_speed > 0)
|
if(data->set.max_send_speed)
|
||||||
send_timeout_ms =
|
send_timeout_ms =
|
||||||
Curl_pgrsLimitWaitTime(data->progress.uploaded,
|
Curl_pgrsLimitWaitTime(data->progress.uploaded,
|
||||||
data->progress.ul_limit_size,
|
data->progress.ul_limit_size,
|
||||||
|
@ -2078,7 +2078,7 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
||||||
*nowp);
|
*nowp);
|
||||||
|
|
||||||
recv_timeout_ms = 0;
|
recv_timeout_ms = 0;
|
||||||
if(data->set.max_recv_speed > 0)
|
if(data->set.max_recv_speed)
|
||||||
recv_timeout_ms =
|
recv_timeout_ms =
|
||||||
Curl_pgrsLimitWaitTime(data->progress.downloaded,
|
Curl_pgrsLimitWaitTime(data->progress.downloaded,
|
||||||
data->progress.dl_limit_size,
|
data->progress.dl_limit_size,
|
||||||
|
@ -2105,7 +2105,7 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
||||||
DEBUGASSERT(data->state.buffer);
|
DEBUGASSERT(data->state.buffer);
|
||||||
/* check if over send speed */
|
/* check if over send speed */
|
||||||
send_timeout_ms = 0;
|
send_timeout_ms = 0;
|
||||||
if(data->set.max_send_speed > 0)
|
if(data->set.max_send_speed)
|
||||||
send_timeout_ms = Curl_pgrsLimitWaitTime(data->progress.uploaded,
|
send_timeout_ms = Curl_pgrsLimitWaitTime(data->progress.uploaded,
|
||||||
data->progress.ul_limit_size,
|
data->progress.ul_limit_size,
|
||||||
data->set.max_send_speed,
|
data->set.max_send_speed,
|
||||||
|
@ -2114,7 +2114,7 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
||||||
|
|
||||||
/* check if over recv speed */
|
/* check if over recv speed */
|
||||||
recv_timeout_ms = 0;
|
recv_timeout_ms = 0;
|
||||||
if(data->set.max_recv_speed > 0)
|
if(data->set.max_recv_speed)
|
||||||
recv_timeout_ms = Curl_pgrsLimitWaitTime(data->progress.downloaded,
|
recv_timeout_ms = Curl_pgrsLimitWaitTime(data->progress.downloaded,
|
||||||
data->progress.dl_limit_size,
|
data->progress.dl_limit_size,
|
||||||
data->set.max_recv_speed,
|
data->set.max_recv_speed,
|
||||||
|
|
|
@ -321,14 +321,14 @@ void Curl_pgrsSetDownloadCounter(struct Curl_easy *data, curl_off_t size)
|
||||||
void Curl_ratelimit(struct Curl_easy *data, struct curltime now)
|
void Curl_ratelimit(struct Curl_easy *data, struct curltime now)
|
||||||
{
|
{
|
||||||
/* don't set a new stamp unless the time since last update is long enough */
|
/* don't set a new stamp unless the time since last update is long enough */
|
||||||
if(data->set.max_recv_speed > 0) {
|
if(data->set.max_recv_speed) {
|
||||||
if(Curl_timediff(now, data->progress.dl_limit_start) >=
|
if(Curl_timediff(now, data->progress.dl_limit_start) >=
|
||||||
MIN_RATE_LIMIT_PERIOD) {
|
MIN_RATE_LIMIT_PERIOD) {
|
||||||
data->progress.dl_limit_start = now;
|
data->progress.dl_limit_start = now;
|
||||||
data->progress.dl_limit_size = data->progress.downloaded;
|
data->progress.dl_limit_size = data->progress.downloaded;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(data->set.max_send_speed > 0) {
|
if(data->set.max_send_speed) {
|
||||||
if(Curl_timediff(now, data->progress.ul_limit_start) >=
|
if(Curl_timediff(now, data->progress.ul_limit_start) >=
|
||||||
MIN_RATE_LIMIT_PERIOD) {
|
MIN_RATE_LIMIT_PERIOD) {
|
||||||
data->progress.ul_limit_start = now;
|
data->progress.ul_limit_start = now;
|
||||||
|
|
Loading…
Reference in New Issue