Use PeekRegion() instead of PrefetchNextRegion() in HTTP/3 streams.

Use PeekRegion() instead of PrefetchNextRegion() in QuicSpdyStream and
QuicReceiveControlStream.  Since offset is incremented after the ProcessInput()
call, not before, reentrancy has to be avoided in QuicSpdyStream.  (No such
issue in QuicReceiveControlStream because no HttpDecoder::Visitor implementation
methods can result in OnDataAvailable() being re-entered.

Unfortunately this is neither pretty nor simple, but necessary for blocked
decoding.

gfe-relnote: n/a, change in QUIC v99-only code path.
PiperOrigin-RevId: 255633598
Change-Id: I2d6d438c1e09837138e9301b10b2366f34e80790
4 files changed
tree: f19bec43bc62b8b7192f469841220d1603770d82
  1. common/
  2. epoll_server/
  3. http2/
  4. quic/
  5. spdy/
  6. CONTRIBUTING.md
  7. LICENSE
  8. README.md
README.md

QUICHE

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.