From: Amos Jeffries Date: Tue, 9 Jun 2015 01:54:56 +0000 (-0700) Subject: Parser-NG: Transfer-Encoding:chunked Parser X-Git-Tag: merge-candidate-3-v1~86 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2cfe6c018fc60855ca0933878c3aa40f29c990cc;p=thirdparty%2Fsquid.git Parser-NG: Transfer-Encoding:chunked Parser 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. --- 2cfe6c018fc60855ca0933878c3aa40f29c990cc