When data are pushed in the channel's buffer, in h2_rcv_buf(), the mux-h2 must
respect the reserve if the flag CO_RFL_KEEP_RSV is set. In HTX, because the
stream-interface always sees the buffer as full, there is no other way to know
the reserve must be respected.
This patch must be backported to 1.9.
}
buf_htx = htx_from_buf(buf);
- count = htx_free_space(buf_htx);
+ count = htx_free_data_space(buf_htx);
+ if (flags & CO_RFL_KEEP_RSV) {
+ if (count <= global.tune.maxrewrite)
+ goto end;
+ count -= global.tune.maxrewrite;
+ }
htx_ret = htx_xfer_blks(buf_htx, h2s_htx, count, HTX_BLK_EOM);