tree 75d22eebc6ddb144c551099dbb0a41434d992d78
parent 4dc4ba3939363a5f8b16aba53201d935db04f21a
author bnc <bnc@google.com> 1564509615 -0700
committer Copybara-Service <copybara-worker@google.com> 1564509826 -0700

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
