Use IETF application error codes for STOP_SENDING frames.

Add ietf_error_code member to QuicStopSendingFrame, and use
IetfResetStreamErrorCodeToRstStreamErrorCode() and
RstStreamErrorCodeToIetfResetStreamErrorCode() to convert to and from
QuicRstStreamErrorCode.  This closely mirrors behavior of QuicRstStreamFrame.

This is the reland of cl/330521460 with
EndToEndTests/EndToEndTest.ClientRstStats fixed.  See b/168041589 for flakiness
caused by original CL.  Locally verified that 100 runs pass both with and
without FLAGS_gfe2_reloadable_flag_quic_stop_sending_uses_ietf_error_code.

Protected by FLAGS_quic_reloadable_flag_quic_stop_sending_uses_application_error_code.

PiperOrigin-RevId: 331000553
Change-Id: Ie5ac10b4e75fe98858d1e79bd07c108525452caa
8 files changed
tree: 5c89456061b787539fbb238a19f8ee881c57e16e
  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.