[Haskell-cafe] [GSoC] Student applications deadline extended
one week
Manlio Perillo
manlio_perillo at libero.it
Tue Apr 1 15:51:32 EDT 2008
Adam Langley ha scritto:
> On Mon, Mar 31, 2008 at 12:00 PM, Manlio Perillo
> <manlio_perillo at libero.it> wrote:
>> Since Nginx is asynchronous, how can be solved the producer-consumer
>> problem (that is, the Haskell program produces more data that Nginx can
>> send to the client without blocking)?
>
> I assume that the Haskell process is connected to nginx over a pipe or
> socket.
No, the idea is to have the Haskell application embedded in nginx.
> In which case, nginx can use flow control to block the sending
> side of the pipe and the Haskell code will backup on that.
>
> If many connections need to be multiplexed over the same
> flow-controlled entity (i.e. a pipe), without head-of-line blocking
> then you can just suspend the current thread using an MVar or the STM
> objects.
>
> Alternatively, with Network.MiniHTTP the problem is turned inside out.
> Request handlers give return a Source object, which can be asked to
> generate more data on request. This would be similar to generators in
> Python.
>
This (the first suggestion) seems very interesting, thanks.
>
> AGL
>
Manlio Perillo
More information about the Haskell-Cafe
mailing list