summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_config.cc
diff options
context:
space:
mode:
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-31 20:36:04 +0000
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-31 20:36:04 +0000
commit9bb57c7152c7b430c2338c7f1c7a5404e421774f (patch)
tree2dc4141440e75fd0a82cd280add80d6418306909 /net/quic/quic_config.cc
parent8bd5938206ed01f45172f423cd26889404800d3d (diff)
downloadchromium_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.cc8
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(