MEDIUM: h2: make h2_frt_decode_headers() use an intermediary buffer
authorWilly Tarreau <w@1wt.eu>
Mon, 26 Feb 2018 14:22:17 +0000 (15:22 +0100)
committerWilly Tarreau <w@1wt.eu>
Fri, 20 Jul 2018 17:21:43 +0000 (19:21 +0200)
commit937f760e1e4dde6260cf14881116d7ef135cf3ce
tree1967a39b8750394515732497d3794172ba2e1ac7
parent0b559071dd7c08af89fc5ebcc29a8d14e3bc470c
MEDIUM: h2: make h2_frt_decode_headers() use an intermediary buffer

The purpose is to decode to a temporary buffer and then to copy this buffer
to the caller. This double-copy definitely has an impact on performance, the
test code goes down from 220k to 140k req/s, but this memcpy() will disappear
soon.

The test on CO_RFL_BUF_WET has become irrelevant now since we only use
the cs' rxbuf, so we cannot be blocked by "output" data that has to be
forwarded first. Thus instead we don't start until the rxbuf is empty
(it will be drained from any input data once the stream processes it).
src/mux_h2.c