mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-01 11:10:59 +02:00
When xprt_qstrm layer is completed, MUX layer is started. Rx buffer from the XPRT layer is transferred to the MUX so that it can handle any extra data following the transport parameters first frame. Since previous commit, QCC Rx buffer is dynamically allocated only when needed. However, qmux_init() must still allocate it when there is data to be transferred from the XPRT layer. As a result, code has been over extended to continue to support this case. This patch simplifies xprt_qstrm API for the Rx buffer transfer. Buffer content and remaining record length can now be retrieved via the single function xprt_qstrm_xfer_rxbuf(). If the buffer is empty, nothing is performed and XPRT layer will release it. If not empty, MUX will take ownership of the buffer from the XPRT layer.