Update goaway behavior. protected by gfe2_reloadable_flag_quic_http3_goaway_new_behavior.

Updating behavior to https://github.com/quicwg/base-drafts/pull/3129.
If client receives GOAWAY with Stream ID that is not client-initiated
bidirectional stream ID, it now closes connection with application error
H3_ID_ERROR instead of transport error PROTOCOL_VIOLATION (draft-04 behavior).
If server receives GOAWAY, it ignores it instead of closing connection with
H3_FRAME_UNEXPECTED (draft-27 behavior).  Stream ID/push ID carried by GOAWAY
frame is ignored in all cases.

This updates behavior to draft-28.  While we are still supporting draft-27,
this should be okay as the new behavior is more permissive.

PiperOrigin-RevId: 323358652
Change-Id: I17919364a259a38a110284bab0023779b194094e
7 files changed
tree: 8cc24041b1d76ad6ca50c480bde2bb584fc19fa6
  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.