MINOR: mux-quic: report local error on stream endpoint asap
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 3 May 2023 16:16:40 +0000 (18:16 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 4 May 2023 14:36:51 +0000 (16:36 +0200)
commit35542ce7bfea72818f27099d5e960347d0d8ae2b
tree1a0f42b92b21b74ede77c96c8c7eabb8fd8d6961
parent51f116d65eeebe66fde38c4aa8b6420513ae584b
MINOR: mux-quic: report local error on stream endpoint asap

If an error a detected at the MUX layer, all remaining stream endpoints
should be closed asap with error set. This is now done by checking for
QC_CF_ERRL flag on qc_wake_some_streams() and qc_send_buf(). To complete
this, qc_wake_some_streams() is called by qc_process() if needed.

This should help to quickly release streams as soon as a new error is
detected locally by the MUX or APP layer. This allows to in turn free
the MUX instance itself. Previously, error would not have been
automatically reported until the transport layer closure would occur
on CONNECTION_CLOSE emission.

This should be backported up to 2.7.
src/mux_quic.c