diff options
author | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-31 20:36:04 +0000 |
---|---|---|
committer | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-31 20:36:04 +0000 |
commit | 9bb57c7152c7b430c2338c7f1c7a5404e421774f (patch) | |
tree | 2dc4141440e75fd0a82cd280add80d6418306909 /net/quic/quic_config.cc | |
parent | 8bd5938206ed01f45172f423cd26889404800d3d (diff) | |
download | chromium_src-9bb57c7152c7b430c2338c7f1c7a5404e421774f.zip chromium_src-9bb57c7152c7b430c2338c7f1c7a5404e421774f.tar.gz chromium_src-9bb57c7152c7b430c2338c7f1c7a5404e421774f.tar.bz2 |
Land Recent QUIC Changes
Remove a LOG_IF(DFATAL) for retransmitting packets which were never
given a sent time.
This DCHECK was firing on Chrome when Windows buffered a packet and
before the callback for the packet being sent, Chrome received a server
reject and had to change crypto context and retransmit all unacked
packets.
Merge internal change: 63686840
https://codereview.chromium.org/214413009/
Rename of QUIC flow control member variables to be more explicit (prefix
flow_control) and more descriptive ("max" instead of "initial").
Merge internal change: 63599012
https://codereview.chromium.org/215423003/
Change comment in QuicSessionTest to be more accurate, and add another
expectation to ensure stream is not flow control blocked before sending
any data.
Merge internal change: 63604321
Fixed compilation warnings in quic_sent_packet_manager_test.cc.
https://codereview.chromium.org/214823010/
Added UseWriter changes to QuicTestClient while porting internal
code that handles the client side of unwinding UDP proxied QUIC changes.
Merge internal change: 63542972
https://codereview.chromium.org/214083003/
Change to QUIC's SendAlgorithmInterface to remove IsHandshake from
TimeUntilSend.
Changed QuicSentPacketManager to ensure it always retransmitted crypto
handshake packets before other retransmissions.
Merge internal change: 63540663
https://codereview.chromium.org/214923003/
Removing TransmissionType from QUIC's TimeUntilSend method.
The only real user was was TcpCubicSender for tail loss probe, and TLP
is better fully contained within the SentPacketManager.
Merge internal change: 63501475
https://codereview.chromium.org/214083002/
Removed unnecessary transmission_type from Quic's send algorithm
interface.
The few remaining uses were improper, so there is a minor change in
behavior.
Merge internal change: 63480011
https://codereview.chromium.org/211693004/
Introduce QUIC_VERSION_17: per-stream flow control. Default send window
is 16 KB, and the client/server can specify higher values in their
CHLO/SHLO messages. WINDOW_UPDATE frames are sent when the receiver has
consumed more than half of their receive window (behavior copied from
SPDY), and BLOCKED frames are sent if a write is attempted while flow
control blocked.
Protected behind FLAGS_enable_quic_stream_flow_control.
Merge internal change: 63474251
https://codereview.chromium.org/211743005/
Adding an accessor to quic dispatcher.
Merge internal change: 63470311
https://codereview.chromium.org/208273008/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/215663002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260637 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_config.cc')
-rw-r--r-- | net/quic/quic_config.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/quic/quic_config.cc b/net/quic/quic_config.cc index 78b2586..121268d 100644 --- a/net/quic/quic_config.cc +++ b/net/quic/quic_config.cc @@ -9,6 +9,7 @@ #include "base/logging.h" #include "net/quic/crypto/crypto_handshake_message.h" #include "net/quic/crypto/crypto_protocol.h" +#include "net/quic/quic_flags.h" #include "net/quic/quic_sent_packet_manager.h" #include "net/quic/quic_utils.h" @@ -303,7 +304,8 @@ QuicConfig::QuicConfig() initial_round_trip_time_us_(kIRTT, PRESENCE_OPTIONAL), // TODO(rjshade): Make this PRESENCE_REQUIRED when retiring // QUIC_VERSION_17. - peer_initial_flow_control_window_bytes_(kIFCW, PRESENCE_OPTIONAL, 0) { + peer_initial_flow_control_window_bytes_(kIFCW, PRESENCE_OPTIONAL, + kDefaultFlowControlSendWindow) { // All optional non-zero parameters should be initialized here. server_initial_congestion_window_.set(kMaxInitialWindow, kDefaultInitialWindow); @@ -432,7 +434,9 @@ void QuicConfig::ToHandshakeMessage(CryptoHandshakeMessage* out) const { server_initial_congestion_window_.ToHandshakeMessage(out); // TODO(ianswett): Don't transmit parameters which are optional and not set. initial_round_trip_time_us_.ToHandshakeMessage(out); - peer_initial_flow_control_window_bytes_.ToHandshakeMessage(out); + + // Don't add peer_initial_flow_control_window_bytes here, it is not a + // negotiated value. } QuicErrorCode QuicConfig::ProcessClientHello( |