| commit | 8d041300bac5252fc00d7610bb0dfa9b0d35dc7e | [log] [tgz] |
|---|---|---|
| author | bnc <bnc@google.com> | Mon Jun 10 10:19:04 2019 -0700 |
| committer | Copybara-Service <copybara-worker@google.com> | Tue Jun 11 08:19:01 2019 -0700 |
| tree | 175e07c96bae90e254c6a27ac2b2dfe7e39c7a62 | |
| parent | 688dca419ffbe457b920eac677b993d19fea624c [diff] |
Call MarkConsumed() on QPACK bytes incrementally, as soon as possible. QPACK data is already processed incrementally, but calling QuicStreamSequencer::MarkConsumed() is postponed until headers or trailers are consumed by the higher layer as signalled by a ConsumeHeaderList() or MarkTrailersConsumed() call. This conflicts with test ResponseProcessingTest.CookieRequestHeaderExcessivelyLong that had to be disabled at b/249121660. This CL makes sure MarkConsumed() is called for every fragment of HEADERS frames immediately, every time for headers, and for trailers only if data bytes are all consumed (otherwise the sequencer starts freeing up data bytes). And if not all data bytes are consumed, then MarkConsumed() is called for trailer bytes as soon as possible. gfe-relnote: n/a; QUIC v99 only. PiperOrigin-RevId: 252430032 Change-Id: I1aa005971a3de72ff536bb54a35817b8fd56a68e
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.