Landing Recent QUIC changes until 5/21/2016 17:51 UTC

Add extra log when CHLO is considered not fit in one packet.

n/a (log change only).

Merge internal change: 122884033
https://codereview.chromium.org/2010043002/

Implements Kathleen Nichols' time-windowed min-max algorithm for QUIC.

This CL creates a new data structure for QUIC that maintains a time-windowed min or max of a running series of samples. This data structure is expected to be used for min RTT and for max bandwidth estimates.

The current Linux kernel version of this algorithm is here: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=f672258391b42a5c7cc2732c9c063e56a85c8dbe

Merge internal change: 122875237
https://codereview.chromium.org/2014733002/

Add a new CryptoTestUtils::LeafCertHashForTesting for generating expected leaf cert hashes.

n/a - test only

Merge internal change: 122767942
https://codereview.chromium.org/2011983004/

Remove obsolete fields in quic_protocol and their current usage in QUIC.  Reorders QuicAckFrame fields based on ClassLayoutOptimizer.  No functional change.

Merge internal change: 122750844
https://codereview.chromium.org/2011653004/

Pulls out QuicConnection alarm cancellation into method. No behavior change.

Merge internal change: 122721477
https://codereview.chromium.org/2015523002/

Add alternate server address to QuicConfig.

Merge internal change: 122677152
https://codereview.chromium.org/2011933002/

Explicitly disallow multi-packet CHLOs. Protected by FLAGS_quic_disallow_multi_packet_chlo, default true.

Merge internal change: 122546126
https://codereview.chromium.org/2007223002/

Deprecate FLAGS_quic_simplify_loss_detection.

Merge internal change: 122481524
https://codereview.chromium.org/2001183002/

Implement a QUIC No PRR connection option, NPRR.  Protected by FLAGS_quic_allow_no_prr

Merge internal change: 122429210
https://codereview.chromium.org/2002103002/

Ignore the peer's receive buffer in QUIC and instead set the max CWND to 2000 packets.  Protected by FLAGS_quic_ignore_srbf.

Merge internal change: 122422703
https://codereview.chromium.org/2005853002/

Add QuicSentPacketManagerInterface, and QuicSentPacketManager implements it. No functional change expected.

Merge internal change: 122420070
https://codereview.chromium.org/2002083002/

Review-Url: https://codereview.chromium.org/2013973003
Cr-Commit-Position: refs/heads/master@{#396486}
61 files changed