Landing Recent QUIC changes until Thu Dec 21 15:21:19 2017 +0000

Sync flags.
https://chromium-review.googlesource.com/c/chromium/src/+/843166

Fix typo in comment
Merge internal change: 179811481
https://chromium-review.googlesource.com/c/chromium/src/+/843165

In QUIC, allow receiving overlapping stream data. Protected by FLAGS_quic_reloadable_flag_quic_allow_receiving_overlapping_data.
Merge internal change: 179808379
https://chromium-review.googlesource.com/c/chromium/src/+/842710

In QUIC, change OnStreamFrameAcked, OnStreamFrameLost to OnFrameAcked and OnFrameLost, respectively. No functional change expected.
Also rename StreamNotifierInterface to SessionNotifierInterface. Wrap QuicConnection's Neuter NeuterUnencryptedPackets into QuicSession::NeuterUnencryptedData.
Merge internal change: 179806882
https://chromium-review.googlesource.com/c/chromium/src/+/842708

Merge TcpCubicSenderBytes with its parent class, TcpCubicSenderBase.
Merge internal change: 179756874
https://chromium-review.googlesource.com/c/chromium/src/+/843087

Choose QUIC handshake protocol based on QUIC version. Protected by FLAGS_quic_supports_tls_handshake.
Merge internal change: 179743631
https://chromium-review.googlesource.com/c/chromium/src/+/843086

Add a QUIC connection option, 1TLP, to configure QUIC to send 1 TLP instead of 2.  Also fixes QUIC's BBRSender to support changing the min CWND to 1 with the MIN1 connection option. Protected by FLAGS_quic_reloadable_flag_quic_one_tlp.
Merge internal change: 179722291
https://chromium-review.googlesource.com/c/chromium/src/+/843083

Deprecate flag FLAGS_quic_reloadable_flag_quic_deprecate_largest_observed in the false position. QuicAckFrame.largest_acked is kept for performance reasons.
Merge internal change: 179691236
https://chromium-review.googlesource.com/c/chromium/src/+/842704

Deprecate FLAGS_quic_reloadable_flag_quic_bbr_ack_aggregation_window.
Merge internal change: 179582366
https://chromium-review.googlesource.com/c/chromium/src/+/841267

Deprecate FLAGS_quic_reloadable_flag_quic_bbr_conservation_in_startup.
Merge internal change: 179492415
https://chromium-review.googlesource.com/c/chromium/src/+/840828

Add an end_to_end_test making sure packet write error does not cause crash.
Merge internal change: 179460919
https://chromium-review.googlesource.com/c/chromium/src/+/840827

Deprecate FLAGS_quic_reloadable_flag_quic_remove_on_stream_frame_discarded.
Merge internal change: 179460654
https://chromium-review.googlesource.com/c/chromium/src/+/840648

Move state tracking whether QuartcPacketWriter is blocked into the class.
Derive whether QuartcPacketWriter is blocked from whether the last write
succeeded or failed.  When a write fails, transition to a not-writable state.
When OnTransportCanWrite() fires, set the packet writer to writable.
Merge internal change: 179434425
https://chromium-review.googlesource.com/c/chromium/src/+/840823

Move and update a DCHECK for ack sending.
Merge internal change: 179189976
https://chromium-review.googlesource.com/c/chromium/src/+/840663

[email protected]

Bug: 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_dbg_ng
Change-Id: I0bf7b12db581a0638ec927bcac85384d56a80f9f
Reviewed-on: https://chromium-review.googlesource.com/843128
Commit-Queue: Michael Warres <[email protected]>
Reviewed-by: Ryan Hamilton <[email protected]>
Cr-Commit-Position: refs/heads/master@{#526101}
97 files changed