]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Parser-NG: Transfer-Encoding:chunked Parser
authorAmos Jeffries <squid3@treenet.co.nz>
Tue, 9 Jun 2015 01:54:56 +0000 (18:54 -0700)
committerAmos Jeffries <squid3@treenet.co.nz>
Tue, 9 Jun 2015 01:54:56 +0000 (18:54 -0700)
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.

1  2 
src/client_side.cc

Simple merge