What is canonical filter workflow

eustas nginx-forum at forum.nginx.org
Fri Mar 16 21:53:32 UTC 2018


Hello.

 I'm working on a zero-copy brotli compression filter. With zero-copy I wrap
compressor output into a buffer and send it to next filter in a chain.

 The problem is - it is not clear how to properly wait until this buffer is
released.

 If I just continue asking the next filter to do its work, until buffer is
released, it is possible to get into infinite loop (see
https://github.com/eustas/ngx_brotli/issues/9#issuecomment-373737792).

 If I return NGX_AGAIN in a case the next filter is not able to use more of
the buffer data, the previous filter never gives a chance to continue
compression
(https://github.com/eustas/ngx_brotli/issues/9#issuecomment-371513645).

Posted at Nginx Forum: https://forum.nginx.org/read.php?2,279070,279070#msg-279070



More information about the nginx mailing list