Refactor incoming SETTINGS logic to QuicSpdySession::OnSetting().

Move Google QUIC logic from QuicSpdySession::SpdyFramerVisitor::OnSettings(),
and IETF QUIC logic from QuicReceiveControlStream::OnSettingsFrame() together
into new method QuicSpdySession::OnSetting().

Consistently use spdy:: settings identifiers for former and quic:: settings
identifiers for latter.  (This reverts part of what I did at cr/260526616.  My
confusion about the two different kind of settings is in great part what
motivates this CL so that all SETTINGS logic is in one place).

Inline a number of QuicSpdySession methods now that they are not called from
outside the class:
  * UpdateHeaderEncoderTableSize(),
  * UpdateEnableServerPush(),
  * set_server_push_enabled(),
  * set_max_outbound_header_list_size().

This change does not modify behavior.  Note that in case of Google QUIC, settings
identifiers (uint16_t) and values (uint32_t) are cast to uint64_t then back to
their respective type, which is a no-op.

gfe-relnote: n/a, no behavioral change.
PiperOrigin-RevId: 260752115
Change-Id: I6b24c98542375e55d907027127ffa1149eaffea6
3 files changed
tree: 75d22eebc6ddb144c551099dbb0a41434d992d78
  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.

The code is currently in process of being moved from https://cs.chromium.org/chromium/src/net/third_party/ into this repository. Please excuse our appearance while we're under construction.