mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-01-08 18:31:00 +01:00
Data emitted by QUIC MUX is restrained by the peer flow control. This is checked on stream and connection level inside qcc_io_send(). The connection level check was placed early in qcc_io_send() preambule. However, this also prevents emission of other frames STOP_SENDING and RESET_STREAM, until flow control limitation is increased by a received MAX_DATA. Note that local flow control frame emission is done prior in qcc_io_send() and so are not impacted. In the worst case, if no MAX_DATA is received for some time, this could delay significantly streams closure and resource free. However, this should be rare as other peers should anticipate emission of MAX_DATA before reaching flow control limit. In the end, this is also covered by the MUX timeout so the impact should be minimal To fix this, move the connection level check directly inside QCS sending loop. Note that this could cause unnecessary looping when connection flow control level is reached and no STOP_SENDING/RESET_STREAM are needed. This should be backported up to 2.6.
The HAProxy documentation has been split into a number of different files for ease of use. Please refer to the following files depending on what you're looking for : - INSTALL for instructions on how to build and install HAProxy - BRANCHES to understand the project's life cycle and what version to use - LICENSE for the project's license - CONTRIBUTING for the process to follow to submit contributions The more detailed documentation is located into the doc/ directory : - doc/intro.txt for a quick introduction on HAProxy - doc/configuration.txt for the configuration's reference manual - doc/lua.txt for the Lua's reference manual - doc/SPOE.txt for how to use the SPOE engine - doc/network-namespaces.txt for how to use network namespaces under Linux - doc/management.txt for the management guide - doc/regression-testing.txt for how to use the regression testing suite - doc/peers.txt for the peers protocol reference - doc/coding-style.txt for how to adopt HAProxy's coding style - doc/internals for developer-specific documentation (not all up to date)
Description
Languages
C
98%
Shell
0.9%
Makefile
0.5%
Lua
0.2%
Python
0.2%