Re: [squid-users] Re: ecap adapted body limited to 64k

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Sun, 25 Nov 2012 20:53:42 -0700

On 11/25/2012 10:32 AM, carteriii wrote:

> I expected to find some sort of while() loop in squid

I agree with Amos that if a question is "where is the while() loop?",
then this discussion belongs to squid-dev rather than squid-users :-).

A brief answer is that Squid uses an "I/O loop" design to serve many
concurrent transactions without threads. That design makes most "loops"
implicit, except for the main I/O loop: check for ready I/O descriptors,
quickly process each ready descriptor without blocking, check for ready
descriptors, quickly process each ready descriptor without blocking,
check for ready I/O descriptors, ...

In your particular case, Squid should come back to your adapter and ask
for the next adapted body chunk _after_ Squid writes at least some of
the 64KB of adapted body content that Squid already got (and "shifted").
Such writing is necessary to free Squid buffer space before more adapted
body can be copied from the adapter.

HTH,

Alex.
Received on Mon Nov 26 2012 - 03:53:59 MST

This archive was generated by hypermail 2.2.0 : Mon Nov 26 2012 - 12:00:03 MST