commit | 9581d0c2f7c124de5a54a16bbe5b81a8d3d88d78 | [log] [tgz] |
---|---|---|
author | bnc <bnc@google.com> | Wed Aug 14 10:08:55 2019 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Aug 15 12:31:07 2019 -0700 |
tree | eb7c1a3ac01ef42db53869130ae5a5e022eced74 | |
parent | c258e4f87af03afddb99d4eb171d0489c9626305 [diff] |
Refactor QPACK roundtrip fuzzer. Create EncodingEnpoint and DecodingEndpoint, encapsulate crashing delegates. Change SplitHeaderList to return QuicHeaderList instead of SpdyHeaderBlock. Create VerifyingDecoder and use it with QpackDecodedHeadersAccumulator for decoding instead of previous DecodeHeaderBlock function with TestHeadersHandler. This is largely a no-op refactor, except header blocks are not broken up into fragments any more when fed into the decoder. This of course mostly invalidates the fuzzer corpus, which I'll regenerate after I'm done with the dynamic table work. Some of this CL feels clumpsy, like OnHeaderBlockStart(), OnHeaderBlockFragment(), and OnHeaderBlockEnd() calls in succession, or calling AddExpectedHeaderList() instead of passing expected_header_list directly in OnHeaderBlockEnd(). This will all make sense with subsequent changes supporting the dynamic table and async decoding. gfe-relnote: n/a, test-only change. PiperOrigin-RevId: 263373592 Change-Id: Ied24c806c85cfe09fd27f9da5f0a2f60357c8baf
QUICHE (QUIC, Http/2, Etc) is Google‘s implementation of QUIC and related protocols. It powers Chromium as well as Google’s QUIC servers and some other projects.
The code is currently in process of being moved from https://cs.chromium.org/chromium/src/net/third_party/ into this repository. Please excuse our appearance while we're under construction.