multi: limit-rate revisited

Tweaks around handling of --limit-rate:

* tracing: trace outstanding timeouts by name
* multi: do not mark transfer as dirty that have
  an EXPIRE_TOOFAST set
* multi: have one static function to asses speed limits
* multi: when setting EXPIRE_TOOFAST remove the transfers
  from the dirty set
* progress: rename vars and comment on how speed limit
  timeouts are calculated, for clarity
* transfer: when speed limiting, exit the receive loop
  after a quarter of the limit has been received, not
  on the first chunk received.
* cf-ip-happy.c: clear EXPIRE_HAPPY_EYEBALLS on connect
* scorecard: add --limit-rate parameter to test with
  speed limits in effect

Closes #18454
This commit is contained in:
Stefan Eissing 2025-09-02 15:16:21 +02:00 committed by Daniel Stenberg
parent 2ebb966e08
commit 24badd29f5
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
11 changed files with 219 additions and 120 deletions

View file

@ -56,6 +56,7 @@ my %wl = (
'curlx_base64_decode' => 'internal api',
'curlx_base64_encode' => 'internal api',
'curlx_base64url_encode' => 'internal api',
'Curl_multi_clear_dirty' => 'internal api',
);
my %api = (