pipe mode and sendfile?

Dridi Boukelmoune dridi at varni.sh
Tue Mar 29 12:04:56 CEST 2016

> If we want per-stream piping, we need also vcl_http1_stream{} and
> vcl_http2_stream{} to decide that, and now it gets really messy.

Wouldn't the vcl_(recv|req) already map to a stream in H2?

> Do we give vcl_http1_stream{} access to req.* ?  Do we give
> vcl_http2_stream{} access to the frame that opened the stream or
> do we attempt to turn it into a req.* ?  And how does H2 pipe-per-stream
> even work in the first place ?  Do we even know which shared state
> we have to synchronize ?

I don't know how to handle non-standard methods that are currently
piped by Varnish but IIRC the CONNECT method has to be piped in a
stream. I think looking at how WebSocket should be handled over H2
would give us the answer and unless I have the wrong link [1] it's
still an open question.


[1] https://tools.ietf.org/html/draft-hirano-httpbis-websocket-over-http2-01#section-5

More information about the varnish-dev mailing list