Land Recent QUIC Changes.
commita97b318dfde98e65f5fb150de6b0ca1066119432
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 8 Aug 2014 08:10:18 +0000 (8 08:10 +0000)
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 8 Aug 2014 08:11:26 +0000 (8 08:11 +0000)
tree16d9b0ced9ab46c1645b8d736973dd6e009377a5
parent7570bba0e131f78485ef3d16038d6bb0dc882a5d
Land Recent QUIC Changes.

QUIC: don't keep around state for streams created by a request
w/no body. Waiting for a stream frame w/ FIN that will never arrive, and
the closed stream map grows without bound.  Not flag protected.

Merge internal change: 72338396
https://codereview.chromium.org/447093002/

Default socket receive buffer to 256K bytes and remove unnecessary
CongestionFeedbackFrames from tests.

Merge internal change: 72338299
https://codereview.chromium.org/447083002/

Include the socket receive buffer in the connection handshake.
PRESENCE_OPTIONAL

The goal is to eventually remove the TcpCongestionFeedbackFrame.
Currently this sends the same value for every packet. All it contains is
the tcp_receive_window (now called socket_receive_buffer) which is fixed
at 256000. So it can be sent in the connection establishment and then
never retransmitted.

Because only one type of CongestionFeedbackFrame can be sent with an
ack, this frees up space for a TimestampFrame which is the motivation
for removing the TcpCongestionFeedbackFrame.

Merge internal change: 72334240
https://codereview.chromium.org/446283002/

Improve QUIC's SendAlgorithmSimulator to allow setting the delayed ack
timer and add a new test of a second BBR flow starting after a first
flow has stabilized.

Merge internal change: 72332690
https://codereview.chromium.org/449713002/

QUIC congestion option that forces ICWND to 10.  Not flag protected.

Merge internal change: 72323017
https://codereview.chromium.org/446253002/

Allow receiving a QUIC CongestionFeedbackFrame that is not kTCP.

Currently the only congestion feedback frames that are sent are TCP, but
I want to send timestamp packets in the next version, so the send
algorithms should not assume that the incoming congestion feedback frame
is kTCP.

Merge internal change: 72322097
https://codereview.chromium.org/443313002/

QUIC - minor cleanup to match internal source tree.

* Formatting cleanup and .get() != NULL changes.

Merge internal change: 72204223
https://codereview.chromium.org/447973004/

Bring back InterArrivalReceiver and rename it to TimestampeReceiver.
This is not in production.

Merge internal change: 72170964
https://codereview.chromium.org/449693002/

Move Quic AppendTimestampFrame method out of AppendCongestionFrame.
Also, remove obsolete TODO's and rename InterArrival to Timestamp.
Not used in production.

Merge internal change: 72148809
https://codereview.chromium.org/446063005/

R=rch@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#288247}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288247 0039d316-1c4b-4281-b951-d872f2087c98
26 files changed:
net/net.gypi
net/quic/congestion_control/hybrid_slow_start_test.cc
net/quic/congestion_control/receive_algorithm_interface.cc
net/quic/congestion_control/send_algorithm_simulator.cc
net/quic/congestion_control/send_algorithm_simulator.h
net/quic/congestion_control/tcp_cubic_sender.cc
net/quic/congestion_control/tcp_cubic_sender_test.cc
net/quic/congestion_control/timestamp_receiver.cc [new file with mode: 0644]
net/quic/congestion_control/timestamp_receiver.h [new file with mode: 0644]
net/quic/congestion_control/timestamp_receiver_test.cc [new file with mode: 0644]
net/quic/crypto/crypto_protocol.h
net/quic/quic_config.cc
net/quic/quic_config.h
net/quic/quic_config_test.cc
net/quic/quic_connection.cc
net/quic/quic_connection_logger.cc
net/quic/quic_framer.cc
net/quic/quic_framer.h
net/quic/quic_framer_test.cc
net/quic/quic_protocol.cc
net/quic/quic_protocol.h
net/quic/reliable_quic_stream.cc
net/quic/test_tools/mock_crypto_client_stream.cc
net/quic/test_tools/quic_session_peer.cc
net/quic/test_tools/quic_session_peer.h
net/tools/quic/end_to_end_test.cc