]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: h2: automatically set CS_FL_RCV_MORE when the output buffer is full
authorWilly Tarreau <w@1wt.eu>
Sun, 10 Dec 2017 20:28:43 +0000 (21:28 +0100)
committerWilly Tarreau <w@1wt.eu>
Sun, 10 Dec 2017 20:28:43 +0000 (21:28 +0100)
commitc9ede6c43e40b255d7caa22c41a6790314699dc1
tree485ec3375bab174bd72aff15550df453e622c4ec
parent6577b4861339e454f7f1fbed573ccb352f37cc30
BUG/MEDIUM: h2: automatically set CS_FL_RCV_MORE when the output buffer is full

If we can't demux pending data due to a stream buffer full condition, we
now set CS_FL_RCV_MORE on the conn_stream so that the stream layer knows
it must call back as soon as possible to restart demuxing. Without this,
some uploaded payloads are truncated if the server does not consume them
fast enough and buffers fill up.

Note that this is still not enough to solve the problem, some changes are
required on the recv() and update_poll() paths to allow to restart reading
even with a buffer full condition.

This patch must be backported to 1.8.
src/mux_h2.c