Use ScopedEncryptionLevelContext to send data from QuicConnection and QuicSession.

This CL makes more widespread use of ScopedEncryptionLevelContext to explicitly set the default encryption level on a QuicConnection for all data sent, apart from ACK-only packets in gQUIC.

For QuicSession, the sending data includes control frames, messages, stream data and crypto data.
For QuicConnection, the sending data includes PING, CONNECTION_CLOSE and ACK frame (for multiple packet number spaces).

Protected by FLAGS_quic_reloadable_flag_quic_use_encryption_level_context.

PiperOrigin-RevId: 339942006
Change-Id: Ibd8b56cafded3c713c30fe5981c8b5d0aeb30afc
6 files changed
tree: ab27a180067be18dde9d6cc28eaa95c2496c7fe9
  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.