]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: h2: add the connection and stream flags listing the causes for blocking
authorWilly Tarreau <w@1wt.eu>
Mon, 25 Sep 2017 09:49:03 +0000 (11:49 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 31 Oct 2017 17:12:14 +0000 (18:12 +0100)
commit2e5b60ee18321911450dc2b6405fa9185d8880b9
tree9a67a5386f420878e22b114151892f231e4f2733
parent1439812da87de5c8cd0e3cf5703ff2fb78f90702
MINOR: h2: add the connection and stream flags listing the causes for blocking

A demux may be prevented from receiving for the following reasons :
  - no receive buffer could be allocated
  - the receive buffer is full
  - a response is needed and the mux is currently being used by a stream
  - a response is needed and some room could not be found in the mux
    buffer (either full or waiting for allocation)
  - the stream buffer is waiting for allocation
  - the stream buffer is full

A mux may stop accepting data for the following reasons :
  - the buffer could not be allocated
  - the buffer is full

A stream may stop sending data to a mux for the following reaons :
  - the mux is busy processing another stream
  - the mux buffer lacks room (full or not allocated)
  - the mux's flow control prevents from sending
  - the stream's flow control prevents from sending

All these conditions were turned into flags for use by the respective
places.
src/mux_h2.c