| commit | e5f9c032daddb9ad223b50c634777513d414f12c | [log] [tgz] |
|---|---|---|
| author | bnc <bnc@google.com> | Thu Jul 25 11:30:40 2019 -0700 |
| committer | Copybara-Service <copybara-worker@google.com> | Thu Jul 25 18:02:50 2019 -0700 |
| tree | f0a2e69edcce20788d0dd7eec6770d0fb30b0435 | |
| parent | b34a7ec5c39834dc6abbfad289527d59670dce5f [diff] |
Rewrite QuicSpdyStreamBodyBuffer's consumed byte tracking algorithm. This is motivated by having to consume unknown frames (in a later CL), see cr/258682203 for the end goal. There is some behavioral change as a side effect of the new algorithm: DATA frame headers are consumed immediately, not only when some of the corresponding payload is consumed. This hinges on the previously undocumented property of HttpDecoder that in only calls Visitor::On*FrameStart() methods after the entire frame header is processed. This behavioral change necessitates minor updates to tests. I plan four more CLs after this: one to move HEADERS frame header and payload consumption calculations from QuicSpdyStream to QuicSpdyStreamBodyBuffer; one to consume unknown frames; one to rename QuicSpdyStreamBodyBuffer to QuicSpdyStreamBodyManager or something similar; and one to remove Http3FrameLengths if by that point it's entirely unused. gfe-relnote: n/a, change to QUIC v99-only code. Protected by existing disabled gfe2_reloadable_flag_quic_enable_version_99. PiperOrigin-RevId: 259987101 Change-Id: Id8a734fb36466b3502373097faba2c6c81c793de
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.