Landing recent QUIC changes until 8:47 PM, Nov 30, 2018 UTC-5

Flag changes:
Enable FLAGS_quic_reloadable_flag_quic_aggregate_acked_stream_frames_2
Enable FLAGS_quic_reloadable_flag_quic_new_lru_cache
Enable FLAGS_quic_reloadable_flag_quic_optimize_encryption_established
Enable FLAGS_quic_restart_flag_quic_no_ephemeral_key_source

Handle RST_STREAM frames received by PendingStream.
Merge internal change: 223602833
https://chromium-review.googlesource.com/c/chromium/src/+/1365799

Add a method to QuartcStream to ask it for the current read offset.
Merge internal change: 223580443
https://chromium-review.googlesource.com/c/chromium/src/+/1365798

First step towards variable length QUIC connection IDs. This CL introduces QuicConnectionIdFromUInt64() and QuicConnectionIdToUInt64() and uses it in all code that assumes connection IDs are uint64_t's. Once this is in, the next step will be to make QuicConnectionId a class that contains a uint64_t.
Merge internal change: 223557525
https://chromium-review.googlesource.com/c/chromium/src/+/1365796

In QUIC v99, when stream is created, determine stream type solely by stream ID.
Merge internal change: 223522570
https://chromium-review.googlesource.com/c/chromium/src/+/1363435

Add a new method to QuicSession for creating an incoming stream from a PendingStream. Implement this method in the various session subclasses which also requires add a PendingStream-based constructor to various QuicStream subclasses.
Merge internal change: 222419285
https://chromium-review.googlesource.com/c/chromium/src/+/1363434

Pass a QuicPerPacketContext into QuicTimeWaitListManager::ProcessPacket and QuicTimeWaitListManager::SendVersionNegotiationPacket. The context is not used in this CL, so there is no behavior change.
Merge internal change: 223407840
https://chromium-review.googlesource.com/c/chromium/src/+/1361636

Add a QUIC connection option to disable pacing offload.
Merge internal change: 223405141
https://chromium-review.googlesource.com/c/chromium/src/+/1361635

Change QpackInstructionEncoder and Decoder varint type to uint64_t.
Merge internal change: 223384725
https://chromium-review.googlesource.com/c/chromium/src/+/1361628

In QuicTimeWaitListManager, rename server_address to self_address, and client_address to peer_address.
Merge internal change: 223338983
https://chromium-review.googlesource.com/c/chromium/src/+/1361626

When a QuicStream is constructed from a PendingStream, ensure that the moved sequencer points to the new QuicStream not the old PendingStream.
Merge internal change: 223338371
https://chromium-review.googlesource.com/c/chromium/src/+/1361625

In QUIC, implement IETF style bidirectional and unidirectional stream IDs numbering in version 99.
Merge internal change: 223337761
https://chromium-review.googlesource.com/c/chromium/src/+/1361624

Move quic::QuicDispatcher::PerPacketContext to quic_packets.h, and rename it to quic::QuicPerPacketContext.
Merge internal change: 223234533
https://chromium-review.googlesource.com/c/chromium/src/+/1361329

Add GetNextUnreadRegion() API in QuicStreamSequencerBuffer.
Merge internal change: 223233937
https://chromium-review.googlesource.com/c/chromium/src/+/1361328

Remove the limit on QUIC stream buffer length.
Merge internal change: 223213240
https://chromium-review.googlesource.com/c/chromium/src/+/1361326

Change QuartcStream's max retransmission count to per-stream rather than number of frames.
Merge internal change: 223014131
https://chromium-review.googlesource.com/c/chromium/src/+/1361323

[email protected]

Change-Id: I5f57f2c168cef9d0875bc6a516702110be47b070
Reviewed-on: https://chromium-review.googlesource.com/c/1366437
Commit-Queue: Fan Yang <[email protected]>
Reviewed-by: Kentaro Hara <[email protected]>
Reviewed-by: Martin Šrámek <[email protected]>
Reviewed-by: Ryan Hamilton <[email protected]>
Cr-Commit-Position: refs/heads/master@{#615215}
147 files changed