httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Leggett <minf...@sharp.fm>
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
(SSL).

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.

Regards,
Graham
--

Mime
View raw message