MINOR: h2: small function to know when the mux is busy

A mux is busy when any stream id >= 0 is currently being handled
and the current stream's id doesn't match. When no stream is
involved (ie: demuxer), stream 0 is considered. This will be
necessary to know when it's possible to send frames.
This commit is contained in:
Willy Tarreau 2017-09-25 16:17:25 +02:00
parent 71681174f3
commit 5b5e68741a

View File

@ -361,6 +361,18 @@ static inline int h2s_id(const struct h2s *h2s)
return h2s ? h2s->id : 0;
}
/* returns true of the mux is currently busy as seen from stream <h2s> */
static inline int h2c_mux_busy(const struct h2c *h2c, const struct h2s *h2s)
{
if (h2c->msi < 0)
return 0;
if (h2c->msi == h2s_id(h2s))
return 0;
return 1;
}
/*********************************************************/
/* functions below are I/O callbacks from the connection */