httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Leggett <>
Subject Re: Httpd 3.0 or something else
Date Tue, 10 Nov 2009 16:37:09 GMT
Paul Querna wrote:

> But Serf Buckets and the event loop definitely do need some more work
> -- simple things, like if the backend bucket is a socket, how do you
> tell the event loop, that a would block rvalue maps to a file
> descriptor talking to an origin server.   You don't want to just keep
> looping over it until it returns data, you want to poll on the origin
> socket, and only try to read when data is available.

I think it can probably be generally stated that every request processed
by the server has N descriptors associated with that request (instead of
1 descriptor, in the current code).

In the case of a simple file transfer, there are two descriptors, one
belonging to the file, the other belonging to the network socket.

In the case of a proxy, one socket belongs to the backend connection,
and the other belongs to a frontend network socket.

And descriptors might need to be polled for read, or for write, or both

If a mechanism existed whereby all descriptors associated with a request
could be given to the event loop, we could be completely asynchronous
throughout the server, from the reading from the backend, to the writing
to the frontend.


View raw message