> On Fri, 2008-02-15 at 12:15 +1300, Amos Jeffries wrote:
>> I imagine the basic first-signup users of eCAP will be wanting to
>> perform content-filters on pages as they arrive. That only needs a
>> read-only buffer of the page data and a hook to allow/deny the
>> transaction.
> FWIW, some of the users waiting for eCAP have full-functioning Traffic
> Spicer modules that do a lot more than allow/deny based on read-only
> page buffers.
> I agree that it is possible to gradually cleanup and publish polished
> Squid headers, but the first publication would still require a major
> cleanup to remove the current inter-header dependencies! And when you
> are done with that cleanup, you might as well expose pretty much
> everything :-).
> To do gradual exposure without the major initial cleanup, you need that
> eCAP library that provides its own "clean" types and hides Squid guts
> from the modules. That's pretty much the same as option #2, as nobody is
> going to start with a full-blown eCAP library anyway.
> I think the core question here is whether it is a good idea to expose
> [polished, cleaned, improved, etc.] Squid guts? Is it better to provide
> a well-defined eCAP-focused interface instead? I think an eCAP interface
> is a better idea even if we have polished guts. Besides other
> speculative "code quality" reasons already discussed here, I add this
> one:
>         Guts change. Squid3 guts will change a lot. eCAP modules should
>         not stop Squid from changing, and should not suffer too much
>         when Squid guts change.
> I should have thought of that reason earlier, but that's why it helps to
> discuss these things :-).

True on both counts.

So what shall this interface look like?
I was imagining an interface that pulled/set some squid data structures
for client use. Even if it was gated through an API layer.


Reply via email to