Land Recent QUIC changes.

Enable QUIC version 18.

Merge internal change: 65253875

Sent QUIC PING frames (or their equivalent) when a stream is open and
the connection has been idle for the half idle network timeout.

Merge internal change: 65326830
https://codereview.chromium.org/247723004/


In the QuicDispatcher we create two supported version vectors: one
containing all supported versions, one with the flow control versions
(i.e. >= 17) removed. This is so we can flip the flow control
reloadable flag off, and have the dispatcher create new connections
which don't support flow control.

Until we remove the flag, each endpoint MUST support at least one
version that does not use flow control. This fixes the end to end test
that would otherwise trigger:

https://code.google.com/p/chromium/codesearch#chromium/src/net/tools/quic/quic_dispatcher.cc&l=193

Merge internal change: 65249146
https://codereview.chromium.org/248373002/


Change log severity from DFATAL to ERROR, and remove test log
expectation. LOG(DFATAL) doesn't work well with parameterised tests.

Merge internal change: 65248174
https://codereview.chromium.org/246233008/


Add a new recent_min_rtt to QUIC's RttStats for use in BBR and similar
min_rtt dependent congestion control.

Merge internal change: 65224389
https://codereview.chromium.org/248213003/


Properly format IFCW values as numbers when printing QUIC handshakes.

Merge internal change: 65208800
https://codereview.chromium.org/246893011/


Added connection_creation_time to QuicConnectionStats. Deleted
connection creation_time_ from QuicConnection.

Merge internal change: 65189147
https://codereview.chromium.org/248353002/


Property pretty-print QUIC LOSS and LOSA handshake message values.

Merge internal change: 65143557
https://codereview.chromium.org/247193005/


Introduce QUIC version 18 which adds support for a PING frame, but does
not yet add support for {*sending* PING frames.

Fix to quic_connection_tests.cc which attempts to do a ping frame if the
version is > 18.

Merge internal change: 65137790
https://codereview.chromium.org/246773005/

[email protected]

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

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