Land Recent QUIC Changes.
commitce7bb141d5359dfe1224a85bafa802a09f1e683d
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Sat, 17 May 2014 15:51:33 +0000 (17 15:51 +0000)
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Sat, 17 May 2014 15:51:33 +0000 (17 15:51 +0000)
treed2f27658cb8e127a89d7b4198fe04949283e30e7
parentf5d0fa6e33af3ac62a6d98e4cac1b1420533f6d7
Land Recent QUIC Changes.

Stub for BBRv2, based on TCP congestion feedback frames.

Merge internal change: 67154078
https://codereview.chromium.org/283333008/

Update QuicSentPacketManager to sample a new recent min rtt within the
first 2 rtt samples after quiescence.

Merge internal change: 67149500
https://codereview.chromium.org/286143007/

Change the test QUIC stream id to be the first non reserved stream ID
(and also to use the right typedef).

Merge internal change: 67146383
https://codereview.chromium.org/292453003/

Adds dynamic FEC on/off switch in packet creator. Tightens use of
max_packets_per_fec_group through use of a setter method across the QUIC
code. FEC operations are now decided based on should_fec_protect_, which
is expected to be a dynamic on/off control in the packet creator,
instead of max_packets_per_fec_group.

Adds dynamic FEC on/off switch in packet_creator.

Merge internal change: 67144415
https://codereview.chromium.org/286153003/

Minor cleanup to simplify QuicSentPacketManager's OnPacketSent and
always reset the retransmission alarm anytime a new pending packet is
sent.

Always setting the retransmission alarm is only a simplification of the
approach, and not intended to fix any issues.

Merge internal change: 67143274
https://codereview.chromium.org/288333002/

Don't set QUIC's write alarm if we are connection flow control blocked.

Added QUIC_VERSION_19 to kSupportedQuicVersions.

Merge internal change: 67141668
https://codereview.chromium.org/285193006/

Minor cleanup of QuicUnackedPacketMap to simplify the implementation of
HasPendingPackets and move a test only method,
GetNumRetransmittablePackets, into QuicSentPacketManagerPeer.

Merge internal change: 67123054
https://codereview.chromium.org/282323003/

Fix a QUIC bug where a crypto packet was never removed from the
UnackedPacketMap if it was not acked and spuriously retransmitted at
least twice.

Merge internal change: 67050631
https://codereview.chromium.org/284273002/

Refactor: move flow controller from QuicConnection to QuicSession.
No behavior change intended.

Merge internal change: 67036889
https://codereview.chromium.org/286213002/

Fix a QUIC bug where a packet could remain in the UnackedPacketMap
indefinitely. This can cause a memory leak when tracking entropy.

Merge internal change: 67028206
https://codereview.chromium.org/285233006/

Delete dead code used only in tests.

Merge internal change: 66938996
https://codereview.chromium.org/288303002/

Add handling + parsing for ALTSVC frame. Also change frame type number
and add an extra version check for BLOCKED frame. SPDY4/HTTP2 only.

Merge internal change: 66925490
https://codereview.chromium.org/286173002/

QUIC loadtest fixes:
- Wait for the QUIC handshake to complete before saying that the
QuicTestClient is connected.
- Force connect at client creation time when talking HTTP/HTTPS/SPDY
for consistency.

Merge internal change: 66855236
https://codereview.chromium.org/282153004/

QUIC now respects configured SPDY stream limits.

Merge internal change: 66831620
https://codereview.chromium.org/286113004/

R=rch@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271211 0039d316-1c4b-4281-b951-d872f2087c98
62 files changed:
net/net.gypi
net/quic/congestion_control/quic_max_sized_map.h [deleted file]
net/quic/congestion_control/quic_max_sized_map_test.cc [deleted file]
net/quic/congestion_control/receive_algorithm_interface.cc
net/quic/congestion_control/send_algorithm_interface.cc
net/quic/congestion_control/send_algorithm_interface.h
net/quic/congestion_control/tcp_cubic_sender.h
net/quic/quic_client_session.cc
net/quic/quic_client_session.h
net/quic/quic_client_session_base.cc
net/quic/quic_client_session_base.h
net/quic/quic_client_session_test.cc
net/quic/quic_connection.cc
net/quic/quic_connection.h
net/quic/quic_connection_logger.cc
net/quic/quic_connection_test.cc
net/quic/quic_crypto_client_stream.cc
net/quic/quic_crypto_server_stream.cc
net/quic/quic_crypto_server_stream.h
net/quic/quic_data_stream_test.cc
net/quic/quic_headers_stream_test.cc
net/quic/quic_http_stream_test.cc
net/quic/quic_packet_creator.cc
net/quic/quic_packet_creator.h
net/quic/quic_packet_creator_test.cc
net/quic/quic_packet_generator_test.cc
net/quic/quic_protocol.cc
net/quic/quic_protocol.h
net/quic/quic_sent_packet_manager.cc
net/quic/quic_sent_packet_manager_test.cc
net/quic/quic_session.cc
net/quic/quic_session.h
net/quic/quic_session_test.cc
net/quic/quic_stream_factory.cc
net/quic/quic_unacked_packet_map.cc
net/quic/quic_unacked_packet_map.h
net/quic/quic_write_blocked_list.h
net/quic/quic_write_blocked_list_test.cc
net/quic/reliable_quic_stream.cc
net/quic/reliable_quic_stream_test.cc
net/quic/test_tools/quic_packet_creator_peer.cc
net/quic/test_tools/quic_packet_creator_peer.h
net/quic/test_tools/quic_sent_packet_manager_peer.cc
net/quic/test_tools/quic_session_peer.cc
net/quic/test_tools/quic_session_peer.h
net/quic/test_tools/quic_test_utils.cc
net/quic/test_tools/quic_test_utils.h
net/tools/quic/end_to_end_test.cc
net/tools/quic/quic_client.cc
net/tools/quic/quic_client_session.cc
net/tools/quic/quic_client_session.h
net/tools/quic/quic_client_session_test.cc
net/tools/quic/quic_dispatcher.cc
net/tools/quic/quic_dispatcher.h
net/tools/quic/quic_dispatcher_test.cc
net/tools/quic/quic_server_session.cc
net/tools/quic/quic_server_session.h
net/tools/quic/quic_server_session_test.cc
net/tools/quic/quic_spdy_client_stream_test.cc
net/tools/quic/test_tools/quic_dispatcher_peer.cc
net/tools/quic/test_tools/quic_dispatcher_peer.h
net/tools/quic/test_tools/quic_test_utils.cc