Re: [PATCH] Dynamic adaptation plans that cross vectoring points

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Wed, 30 Mar 2011 11:38:00 -0600

On 03/15/2011 04:23 PM, Alex Rousskov wrote:
> Support dynamic adaptation plans that cover multiple vectoring points.
>
> The dynamic adaptation plan is specified using X-Next-Services ICAP
> header or eCAP meta-info, as usual. A REQMOD adaptation service may
> construct an adaptation plan that starts with REQMOD and ends with
> RESPMOD. Multiple adaptations may be planned at each point.
>
> The natural transaction handling order must be preserved: the plan
> cannot go from RESPMOD back to REQMOD.
>
> Adaptation::History object is used to keep future plan steps when
> crossing vectoring points.
>
>
>
> This change enables REQMOD services to schedule request-specific
> response adaptation. For example, when the request is from a child,
> appropriate content filtering needs to be applied to the response.
>
> In some cases, such decisions can be done in squid.conf, but the
> request state required to make the schedule may be too complex or even
> not known to Squid core. In most cases, such decisions can be done in
> the RESPMOD service (which always has access to request headers), but
> that requires sending _all_ responses to that service unconditionally,
> which often creates significant performance penalties. In both
> scenarios, an adaptation schedule build by a REQMOD service may solve
> the problem nicely.
>
> AFAIK, the 3.1 code this patch is based on has been deployed for many
> months without known problems.

Committed to trunk as r11327.

Alex.
Received on Wed Mar 30 2011 - 17:38:18 MDT

This archive was generated by hypermail 2.2.0 : Thu Mar 31 2011 - 12:00:04 MDT