Land Recent QUIC Changes.

Change QUIC's pacer to allow a 10 packet burst when the connection comes
out of quiescence.

This is in line with the kernel's qdisc implementation.

Merge internal change: 70357214
https://codereview.chromium.org/367853003/


QUIC varz to track measured and predicted bandwidth and rtt histograms
for video responses for which internal streamer provided bandwidth/rtt
estimates and QUIC connection has a reliable bandwidth measurement.

bandwidth/rtt varz histograms for video responses served over QUIC.
Not flag protected.

Merge internal change: 70327906
https://codereview.chromium.org/365833002/


Add comments describing changes introduced in each QUIC version.

Merge internal change: 70319561
https://codereview.chromium.org/369493002/


QUIC_VERSION_21: headers and crypto streams are now flow controlled at
the stream level, but do not contribute to connection level flow
control.

Merge internal change: 70318947
https://codereview.chromium.org/368803003/


Added following helper methods to track successful QUIC client port migrations:

+ peer_port_changed()
+ received_packet_manager()
+ sequence_number_of_last_sent_packet()
+ largest_observed()

The following is the original internal CL description:

Add two varz to track successful QUIC client port migrations:

  peer_port_changes
    -- Number of times we have seen the peer's port change
       mid-connection.

  successful_peer_port_migrations
    -- Successful connection migrations to a new peer port.

Add varz to track successful QUIC client port migrations. Protected
behind existing, enabled, FLAGS_..._quic_allow_port_migration.

Merge internal change: 70318257
https://codereview.chromium.org/366843002/


Test only change to improve QUIC's SendAlgorithmSimulator to support
multiple transfers with different types of send algorithms at once.

Intended to test BBR vs BBR and BBR vs TCP Cubic.

Merge internal change: 70254014

A fix to SendAlgorithmSimulator, which was making BbrSenderTest flaky.

Merge internal change: 70269655
https://codereview.chromium.org/367843002/


QUIC - added helper method config() to QuicClient.

The following is the description from the internal change:

	Fixing a bug in the (as yet unused UDP backend picking code) where we
	weren't setting the configured timeout correctly.

	Fixing a bug in the (flag-disabled) UDP backend picking code.

Merge internal change: 70239548
https://codereview.chromium.org/362873002/

[email protected]

Review URL: https://codereview.chromium.org/366863002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281079 0039d316-1c4b-4281-b951-d872f2087c98
32 files changed