curl/lib/vquic
Alex Snast f504db8928
http/3: resume upload on ack if we have more data to send
Currently we're waiting for sendbuf_len_in_flight to hit zero before
resuming upload which means we're blocking and waiting for _all_ acks to
arrive before sending more data. This causes significant delays especially
when ack delay is used on the server side.

The fix addresses several issues in h3 over ngtcp2:
  - On ack we now call nghttp3_conn_resume_stream() when we have more
    data to send.
  - upload_left was incorrectly computed on CF_CTRL_DATA_DONE_SEND as
    we need to subtract the ammount of data we have in flight.
  - Remove upload_blocked_len as we Curl_bufq_write call will do the
    right thing when called from cf_ngtcp2_send.

Fixes #14198
Closes #14209
2024-07-18 15:08:03 +02:00
..
curl_msh3.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_msh3.h quic: rename vquic implementations, fix for quiche build. 2023-01-05 23:39:49 +01:00
curl_ngtcp2.c http/3: resume upload on ack if we have more data to send 2024-07-18 15:08:03 +02:00
curl_ngtcp2.h ngtcp2: adjust config and code checks for ngtcp2 without nghttp3 2023-03-23 15:39:13 +01:00
curl_osslq.c http/3: resume upload on ack if we have more data to send 2024-07-18 15:08:03 +02:00
curl_osslq.h http3: initial support for OpenSSL 3.2 QUIC stack 2024-01-22 16:15:45 +01:00
curl_quiche.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_quiche.h quic: rename vquic implementations, fix for quiche build. 2023-01-05 23:39:49 +01:00
vquic-tls.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
vquic-tls.h wolfssl: support CA caching 2024-06-01 23:50:36 +02:00
vquic.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
vquic.h lib: merge ENABLE_QUIC C macro into USE_HTTP3 2024-04-13 08:33:27 +00:00
vquic_int.h lib: merge ENABLE_QUIC C macro into USE_HTTP3 2024-04-13 08:33:27 +00:00