mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-30 01:52:53 +00:00
haproxy public development tree
cd22200d23
This commit is a direct follow-up on the major rearchitecture of send buffering. It allows application protocol to react if current QCS sending buffer space is too small. In this case, the buffer can be released to the quic-conn layer. This allows to allocate a new QCS buffer and retry HTX parsing, unless connection buffer pool is already depleted. A new function qcc_release_stream_txbuf() serves as API for app protocol to release the QCS sending buffer. This operation fails if there is unsent data in it. In this case, MUX has to keep it to finalize transfer of unsent data to quic-conn layer. QCS is thus flagged with QC_SF_BLK_MROOM to interrupt snd_buf operation. When all data are sent to the quic-conn layer, QC_SF_BLK_MROOM is cleared via qcc_streams_sent_done() and stream layer is woken up to restart snd_buf. Note that a new function qcc_stream_can_send() has been defined. It allows app proto to check if sending is currently blocked for the current QCS. For now, it checks QC_SF_BLK_MROOM flag. However, it will be extended to other conditions with the following patches. |
||
---|---|---|
.github | ||
addons | ||
admin | ||
dev | ||
doc | ||
examples | ||
include | ||
reg-tests | ||
scripts | ||
src | ||
tests | ||
.cirrus.yml | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
.travis.yml | ||
BRANCHES | ||
BSDmakefile | ||
CHANGELOG | ||
CONTRIBUTING | ||
INSTALL | ||
LICENSE | ||
MAINTAINERS | ||
Makefile | ||
README | ||
SUBVERS | ||
VERDATE | ||
VERSION |
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)