Use maximum stream ID in GOAWAY frame for graceful shutdown.

We are aware of HTTP/2 clients that fail outstanding requests upon GOAWAY
instead of retrying them, and because of this we send max stream ID instead of
largest processed stream ID in HTTP/2.  In case a similar issue exists or will
develop for QUIC, the only time a GOAWAY frame with a stream ID less than the
maximum possible stream ID is sent should be right before closing the
connection.  This also allows us not to implement resetting incoming streams
with stream ID larger than sent in a GOAWAY frame.

Protected by FLAGS_quic_reloadable_flag_quic_goaway_with_max_stream_id.

PiperOrigin-RevId: 341835202
Change-Id: I8a45511d2d8f617de32ba3b5e55eb93bce26e75b
7 files changed
tree: 74194c843aa705ce1727719c4a207f9b53e13e68
  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. QUICHE is only supported on little-endian platforms.