Re: epoll on squid

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Sat, 07 Dec 2002 14:15:50 +0100

David Nicklay wrote:

> Understood. I must admit I don't entirely understand what the purpose
> of deferred reads is. An extended explanation of what its purpose is
> might help me figure out how to work it in. As for delay pools, I might
> just leave that for someone else to get working.

Deferred reads is mainly the mechanism by which Squid slows down
processing of requests/responses to match the other end.

This is related to

 a) I/O buffering. We only want to buffer a small amount of data, and
read from the server in the same speed as data is beeing received by the
client. Similarily when posting large amounts of data from the client to
a server.

 b) delay pools, delaying reading of data to only the speed which
clients are allowed to receive.

And the reason to this beeing implemented by deferring reads when the
delay condition is meat is because currently Squids internal I/O model
for how data is sent from one side to another is mainly a push model
there the server side pushes received data to the client side via the
MemoryObject.

The get rid of deferred reads this needs to be changed to a pull model
where the receiving side pulls data from the sending side and reads only
scheduled if there is anyone asking for the data.

Regards
Henrik
Received on Sat Dec 07 2002 - 06:19:30 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:19:00 MST