aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDa-Yoon Chung <dayoonc@andrew.cmu.edu>2015-04-06 13:22:07 -0400
committerDaniel Stenberg <daniel@haxx.se>2015-04-07 21:55:23 +0200
commita9e46749b2a23257674974ac2a88738905bac5e1 (patch)
treec795d41f12553135828c5941310f7e26ff5e310a
parentc3101ae287fcfc420bdd816f1eaf39c8dc9b242b (diff)
lib/transfer.c: Remove factor of 8 from sleep time calculation
The factor of 8 is a bytes-to-bits conversion factor, but pkt_size and rate_bps are both in bytes. When using the rate limiting option, curl waits 8 times too long, and then transfers very quickly until the average rate reaches the limit. The average rate follows the limit over time, but the actual traffic is bursty. Thanks-to: Benjamin Gilbert
-rw-r--r--lib/transfer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/transfer.c b/lib/transfer.c
index ed358dca9..267e0a1cc 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -1270,7 +1270,7 @@ long Curl_sleep_time(curl_off_t rate_bps, curl_off_t cur_rate_bps,
* the next packet at the adjusted rate. We should wait
* longer when using larger packets, for instance.
*/
- rv = ((curl_off_t)((pkt_size * 8) * 1000) / rate_bps);
+ rv = ((curl_off_t)(pkt_size * 1000) / rate_bps);
/* Catch rounding errors and always slow down at least 1ms if
* we are running too fast.