Fix stream ID sent in GOAWAY frame.

The stream ID sent in a HTTP/3 GOAWAY frame is the lowest that can be retried by
the client.  (This is unlike HTTP/2 where the stream ID is the highest that
cannot be retried.)  Fix QuicSpdySession::SendHttp3GoAway() to send the next
stream ID after the largest received one.

Also do not send GOAWAY frame if it could not convey new information to the
client with respect to the previously sent GOAWAY frame.

Protected by FLAGS_quic_reloadable_flag_quic_fix_http3_goaway_stream_id.

PiperOrigin-RevId: 330840957
Change-Id: I3f2a1a18e5d0fb294d39f21c315b8af7ec1a4811
4 files changed
tree: ef665ca89a34e04e45ed6a15545d38161003960b
  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.