ngtcp2: add a comment explaining write result handling

The choice to continue processing incoming data although the
writeout of the headers/data failed is not obvious. Add a comment
explaining why this is done.

Closes #19093
This commit is contained in:
Stefan Eissing 2025-10-17 10:59:11 +02:00 committed by Daniel Stenberg
parent 2719aa36b5
commit f221cdeabe
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2

View file

@ -1018,8 +1018,12 @@ static void h3_xfer_write_resp_hd(struct Curl_cfilter *cf,
struct h3_stream_ctx *stream,
const char *buf, size_t blen, bool eos)
{
/* If we already encountered an error, skip further writes */
/* This function returns no error intentionally, but records
* the result at the stream, skipping further writes once the
* `result` of the transfer is known.
* The stream is subsequently cancelled "higher up" in the filter's
* send/recv callbacks. Closing the stream here leads to SEND/RECV
* errors in other places that then overwrite the transfer's result. */
if(!stream->xfer_result) {
stream->xfer_result = Curl_xfer_write_resp_hd(data, buf, blen, eos);
if(stream->xfer_result)
@ -1033,8 +1037,12 @@ static void h3_xfer_write_resp(struct Curl_cfilter *cf,
struct h3_stream_ctx *stream,
const char *buf, size_t blen, bool eos)
{
/* If we already encountered an error, skip further writes */
/* This function returns no error intentionally, but records
* the result at the stream, skipping further writes once the
* `result` of the transfer is known.
* The stream is subsequently cancelled "higher up" in the filter's
* send/recv callbacks. Closing the stream here leads to SEND/RECV
* errors in other places that then overwrite the transfer's result. */
if(!stream->xfer_result) {
stream->xfer_result = Curl_xfer_write_resp(data, buf, blen, eos);
/* If the transfer write is errored, we do not want any more data */