curl/lib/vquic
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
..
curl_ngtcp2.c ratelimit: redesign 2025-11-24 23:34:05 +01:00
curl_ngtcp2.h build: fix build errors/warnings in rare configurations 2025-07-23 22:17:03 +02:00
curl_osslq.c quiche: eliminate size_t casts 2025-11-20 22:38:21 +01:00
curl_osslq.h build: fix build errors/warnings in rare configurations 2025-07-23 22:17:03 +02:00
curl_quiche.c quiche: eliminate size_t casts 2025-11-20 22:38:21 +01:00
curl_quiche.h build: fix build errors/warnings in rare configurations 2025-07-23 22:17:03 +02:00
vquic-tls.c vquic-tls/gnutls: call Curl_gtls_verifyserver unconditionally 2025-11-14 17:05:11 +01:00
vquic-tls.h http/3: report handshake with version and cipher as for TCP connections 2025-07-14 14:08:32 +02:00
vquic.c vquic: do not pass invalid mode flags to open() (Windows) 2025-11-24 22:33:21 +01:00
vquic.h build: fix build errors/warnings in rare configurations 2025-07-23 22:17:03 +02:00
vquic_int.h quic: improve UDP GRO receives 2025-10-17 17:23:46 +02:00