[squid-dev] [PATCH] Parser-NG: Transfer-Encoding:chunked Parser

Amos Jeffries squid3 at treenet.co.nz
Mon Jun 8 08:34:50 UTC 2015


On 2/06/2015 11:21 a.m., Amos Jeffries wrote:
> Remove several performance regressions incurred in earlier Parser-NG
> updates by refactoring the class ChunkedCodingParser to a class
> Http1::TeChunkedParser which parses an SBuf I/O buffer for chunked
> encoding data and (for now) copies the chunk payloads into a MemBuf buffer.
> 
> The new class is inherited from Http1::Parser and presents the same API.
> Chunk Trailers are now available via the Parser API mimeHeader() method
> - although none of the rest of Squid makes use of that data yet. It
> implements parsing using a ::Parser::Tokenizer for (nearly) compliant
> protocol tokenization. With enumerated states instead of a dynamic
> function-pointer chain.
> 
> 
> Measurements:
>  Co-Advisor shows no compliance change.
>  Polygraph shows approx 1% speed improvement over trunk.
> 
> PS. earlier bugs being investigated turned out to be inherited from
> trunk and are now fixed there already.
> 
> Amos
> 

If there are no objections I would like to fast-track this and apply it
in the next day or so.

Amos



More information about the squid-dev mailing list