curl-curl/lib/vssh
Stefan Eissing 24b36fdd15
ratelimit: redesign
Description of how this works in `docs/internal/RATELIMITS.ms`.

Notable implementation changes:
- KEEP_SEND_PAUSE/KEEP_SEND_HOLD and KEEP_RECV_PAUSE/KEEP_RECV_HOLD
  no longer exist. Pausing is down via blocked the new rlimits.
- KEEP_SEND_TIMED no longer exists. Pausing "100-continue" transfers
  is done in the new `Curl_http_perform_pollset()` method.
- HTTP/2 rate limiting implemented via window updates. When
  transfer initiaiting connection has a ratelimit, adjust the
  initial window size
- HTTP/3 ngtcp2 rate limitin implemnented via ack updates
- HTTP/3 quiche does not seem to support this via its API
- the default progress-meter has been improved for accuracy
  in "current speed" results.

pytest speed tests have been improved.

Closes #19384
2025-11-24 23:34:05 +01:00
..
libssh2.c ratelimit: redesign 2025-11-24 23:34:05 +01:00
libssh.c ratelimit: redesign 2025-11-24 23:34:05 +01:00
ssh.h badwords: fix two exceptions and drop them 2025-11-14 17:32:04 +01:00
vssh.c sftp: fix range downloads in both SSH backends 2025-11-11 14:51:22 +01:00
vssh.h sftp: fix range downloads in both SSH backends 2025-11-11 14:51:22 +01:00