tree ad831be7008b61c032593963eef295e2b17b23cd
parent cb14688496e3cca35a10b965fa644f14eb331595
author Willy Tarreau <w@1wt.eu> 1512936805 +0100
committer Willy Tarreau <w@1wt.eu> 1512936805 +0100
encoding latin1

MINOR: conn_stream: add new flag CS_FL_RCV_MORE to indicate pending data

Due to the nature of multiplexed protocols, it will often happen that
some operations are only performed on full frames, preventing any partial
operation from being performed. HTTP/2 is one such example. The current
MUX API causes a problem here because the rcv_buf() function has no way
to let the stream layer know that some data could not be read due to a
lack of room in the buffer, but that data are definitely present. The
problem with this is that the stream layer might not know it needs to
call the function again after it has made some room. And if the frame
in the buffer is not followed by any other, nothing will move anymore.

This patch introduces a new conn_stream flag CS_FL_RCV_MORE whose purpose
is to indicate on the stream that more data than what was received are
already available for reading as soon as more room will be available in
the buffer.

This patch doesn't make use of this flag yet, it only declares it. It is
expected that other similar flags may come in the future, such as reports
of pending end of stream, errors or any such event that might save the
caller from having to poll, or simply let it know that it can take some
actions after having processed data.
