fre 2007-03-02 klockan 08:58 -0700 skrev Alex Rousskov:

>       Thank you very much for all your Squid3 efforts! Without your work
> Squid3 would not happen. I hope you feel the increased interest in and
> work on Squid3 these days.

Thanks, but probably overrated. 

>       FWIW, I am very interested in fixing core bugs. For example, I rewrote
> request body handling to fix several core bugs (changes are currently in
> squid3-icap).  With the exception of ICAP, I cannot spend time polishing
> optional features like TPROXY, but I am sure there are enough core bugs
> for me :-).

Getting the core stable is the prime criteria for getting Squid-3 to
start walking.

>       Also, with the ICAP code becoming stable, I should be able to spend
> more time on core fixes.

Hopefully.

> As for C++, if a willing person cannot understand some C++ concept in
> Squid, it should probably be removed or at least well documented.

removing is a bit hard as that would leave gaping holes in the code..
leaving the choices of fixing up the code to make sense and/or
documenting it..


> Personally, I am against hairy C++ code that only gurus can grok. For
> me, most of the C++ complexity in Squid3 comes from an unfortunate blend
> of C features like cbdata and C++ features like refcounting. Hopefully,
> we will fix that in Squid 3.1.

One good start would be to unify the code.. today there is too many
generations of coding style..

  * Old C code, just wrapped up with a .cc extension
  * First generation C++ translation adding some classes trying to
divide the code in well more defined units.
  * Second generation C++ refactoring, adding some OO properties.
  * Third generation C++ refactoring of the refactoring, using different
style.
  * Fourth generation of C++ refactoring, where things is mostly done
right and understandable.
  * And some parts which looks more like exploring fancy features of C++
rather than trying to make the code more readable or maintainable.
  * And some very old C code still left around.. (also plagued Squid-2)

The many different ways cbdata types is defined and implemented is a
good example of this..

  - Old C style CBDATA_TYPE
  - First C++ translation CBDATA_CLASS, with significant coding overhead
  - Refatored version CBDATA_CLASS2.

Refcounting also has a bit of similar heritage.

All fixable, just a matter of developer time and interest..

Regards
Henrik

Attachment: signature.asc
Description: Detta är en digitalt signerad meddelandedel

Reply via email to