From: Da-Yoon Chung Date: Mon, 6 Apr 2015 17:22:07 +0000 (-0400) Subject: lib/transfer.c: Remove factor of 8 from sleep time calculation X-Git-Tag: curl-7_42_0~44 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a9e46749b2a23257674974ac2a88738905bac5e1;p=curl 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 --- 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.