On 05 Oct 2015, at 1:13 PM, Yann Ylavic <[email protected]> wrote:

> Why suspend a filter rather than the calling handler (on EAGAIN/EWOULDBLOCK)?

Primarily because there are many filters, but only one handler. What I have in 
mind is combining an async bandwidth-limitation filter with an async handler. 
Right now you can’t do that, and you should be able to, that’s the point of the 
filter stack.

> It seems that suspending the handlers would avoid rewriting them as filters.
> Or is your plan to go for something like (mod_)serf?

Suspending the handler is an option, but it’s less than ideal if the handler 
suspends the connection while there is data buffered in the filter stack. In 
this case data writes will be delayed until the source of the data pushes more 
data through after the connection is woken up again. Ideally outbound data 
should be pulled out the stack, not pushed into it.

Regards,
Graham
—

Reply via email to