]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
docs: clarify MAX_SEND/RECV_SPEED functionality
authorDaniel Stenberg <daniel@haxx.se>
Fri, 14 Aug 2020 14:49:42 +0000 (16:49 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 14 Aug 2020 22:22:05 +0000 (00:22 +0200)
... in particular what happens if the maximum speed limit is set to a
value that's smaller than the transfer buffer size in use.

Reported-by: Tomas Berger
Fixes #5788
Closes #5813

docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3
docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3

index e4ced8643a740a2b202da75ce8b1fbe23fc36508..23bb16d319b9cb8f2091657222b0c1c55e828d0e 100644 (file)
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, 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
@@ -28,12 +28,18 @@ CURLOPT_MAX_RECV_SPEED_LARGE \- rate limit data download speed
 #include <curl/curl.h>
 
 CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAX_RECV_SPEED_LARGE,
-                          curl_off_t speed);
+                          curl_off_t maxspeed);
 .SH DESCRIPTION
-Pass a curl_off_t as parameter.  If a download exceeds this \fIspeed\fP
+Pass a curl_off_t as parameter.  If a download exceeds this \fImaxspeed\fP
 (counted in bytes per second) the transfer will pause to keep the speed less
 than or equal to the parameter value. Defaults to unlimited speed.
 
+This is not an exact science. libcurl attempts to keep the average speed below
+the given threshold over a period time.
+
+If you set \fImaxspeed\fP to a value lower than \fICURLOPT_BUFFERSIZE(3)\fP,
+libcurl might download faster than the set limit initially.
+
 This option doesn't affect transfer speeds done with FILE:// URLs.
 .SH DEFAULT
 0, disabled
index d9f5c8bf03dbca808688a80a5780fc12f7c18d7a..ba86a67a372887d562d2df88f87853fecfbc4e0d 100644 (file)
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, 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
@@ -35,6 +35,13 @@ this speed (counted in bytes per second) the transfer will pause to keep the
 speed less than or equal to the parameter value.  Defaults to unlimited
 speed.
 
+This is not an exact science. libcurl attempts to keep the average speed below
+the given threshold over a period time.
+
+If you set \fImaxspeed\fP to a value lower than
+\fICURLOPT_UPLOAD_BUFFERSIZE(3)\fP, libcurl might "shoot over" the limit on
+its first send and still send off a full buffer.
+
 This option doesn't affect transfer speeds done with FILE:// URLs.
 .SH DEFAULT
 0, disabled