Commit 82e3a34a authored by Ian Swett's avatar Ian Swett Committed by Commit Bot

Default enable the NSTP QUIC connection option in Chrome to no longer send stop waiting frames.

R=rch@chromium.org

Bug: 698786
Change-Id: Ibb0e8edf1537b4da7e1948b97df02c55ed4af8ba
Reviewed-on: https://chromium-review.googlesource.com/1148472
Commit-Queue: Zhongyi Shi <zhongyi@chromium.org>
Reviewed-by: default avatarZhongyi Shi <zhongyi@chromium.org>
Reviewed-by: default avatarRyan Hamilton <rch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579051}
parent 215af88d
...@@ -1523,6 +1523,15 @@ int QuicStreamFactory::CreateSession( ...@@ -1523,6 +1523,15 @@ int QuicStreamFactory::CreateSession(
config.SetInitialStreamFlowControlWindowToSend(kQuicStreamMaxRecvWindowSize); config.SetInitialStreamFlowControlWindowToSend(kQuicStreamMaxRecvWindowSize);
config.SetBytesForConnectionIdToSend(0); config.SetBytesForConnectionIdToSend(0);
ConfigureInitialRttEstimate(server_id, &config); ConfigureInitialRttEstimate(server_id, &config);
if (quic_version > quic::QUIC_VERSION_35 &&
quic_version < quic::QUIC_VERSION_44 &&
!config.HasClientSentConnectionOption(quic::kNSTP,
quic::Perspective::IS_CLIENT)) {
// Enable the no stop waiting frames connection option by default.
quic::QuicTagVector connection_options = config.SendConnectionOptions();
connection_options.push_back(quic::kNSTP);
config.SetConnectionOptionsToSend(connection_options);
}
// Use the factory to create a new socket performance watcher, and pass the // Use the factory to create a new socket performance watcher, and pass the
// ownership to QuicChromiumClientSession. // ownership to QuicChromiumClientSession.
......
...@@ -136,7 +136,7 @@ QuicTestPacketMaker::MakeAckAndPingPacket( ...@@ -136,7 +136,7 @@ QuicTestPacketMaker::MakeAckAndPingPacket(
DVLOG(1) << "Adding frame: " << frames.back(); DVLOG(1) << "Adding frame: " << frames.back();
quic::QuicStopWaitingFrame stop_waiting; quic::QuicStopWaitingFrame stop_waiting;
if (version_ <= quic::QUIC_VERSION_43) { if (version_ == quic::QUIC_VERSION_35) {
stop_waiting.least_unacked = least_unacked; stop_waiting.least_unacked = least_unacked;
frames.push_back(quic::QuicFrame(&stop_waiting)); frames.push_back(quic::QuicFrame(&stop_waiting));
DVLOG(1) << "Adding frame: " << frames.back(); DVLOG(1) << "Adding frame: " << frames.back();
...@@ -280,7 +280,7 @@ QuicTestPacketMaker::MakeAckAndRstPacket( ...@@ -280,7 +280,7 @@ QuicTestPacketMaker::MakeAckAndRstPacket(
DVLOG(1) << "Adding frame: " << frames.back(); DVLOG(1) << "Adding frame: " << frames.back();
quic::QuicStopWaitingFrame stop_waiting; quic::QuicStopWaitingFrame stop_waiting;
if (version_ <= quic::QUIC_VERSION_43) { if (version_ == quic::QUIC_VERSION_35) {
stop_waiting.least_unacked = least_unacked; stop_waiting.least_unacked = least_unacked;
frames.push_back(quic::QuicFrame(&stop_waiting)); frames.push_back(quic::QuicFrame(&stop_waiting));
DVLOG(1) << "Adding frame: " << frames.back(); DVLOG(1) << "Adding frame: " << frames.back();
...@@ -341,7 +341,7 @@ QuicTestPacketMaker::MakeAckAndConnectionClosePacket( ...@@ -341,7 +341,7 @@ QuicTestPacketMaker::MakeAckAndConnectionClosePacket(
DVLOG(1) << "Adding frame: " << frames.back(); DVLOG(1) << "Adding frame: " << frames.back();
quic::QuicStopWaitingFrame stop_waiting; quic::QuicStopWaitingFrame stop_waiting;
if (version_ <= quic::QUIC_VERSION_43) { if (version_ == quic::QUIC_VERSION_35) {
stop_waiting.least_unacked = least_unacked; stop_waiting.least_unacked = least_unacked;
frames.push_back(quic::QuicFrame(&stop_waiting)); frames.push_back(quic::QuicFrame(&stop_waiting));
DVLOG(1) << "Adding frame: " << frames.back(); DVLOG(1) << "Adding frame: " << frames.back();
...@@ -487,7 +487,7 @@ std::unique_ptr<quic::QuicReceivedPacket> QuicTestPacketMaker::MakeAckPacket( ...@@ -487,7 +487,7 @@ std::unique_ptr<quic::QuicReceivedPacket> QuicTestPacketMaker::MakeAckPacket(
DVLOG(1) << "Adding frame: " << frames.back(); DVLOG(1) << "Adding frame: " << frames.back();
quic::QuicStopWaitingFrame stop_waiting; quic::QuicStopWaitingFrame stop_waiting;
if (version_ <= quic::QUIC_VERSION_43) { if (version_ == quic::QUIC_VERSION_35) {
stop_waiting.least_unacked = least_unacked; stop_waiting.least_unacked = least_unacked;
frames.push_back(quic::QuicFrame(&stop_waiting)); frames.push_back(quic::QuicFrame(&stop_waiting));
DVLOG(1) << "Adding frame: " << frames.back(); DVLOG(1) << "Adding frame: " << frames.back();
...@@ -573,7 +573,7 @@ QuicTestPacketMaker::MakeAckAndDataPacket( ...@@ -573,7 +573,7 @@ QuicTestPacketMaker::MakeAckAndDataPacket(
DVLOG(1) << "Adding frame: " << frames.back(); DVLOG(1) << "Adding frame: " << frames.back();
quic::QuicStopWaitingFrame stop_waiting; quic::QuicStopWaitingFrame stop_waiting;
if (version_ <= quic::QUIC_VERSION_43) { if (version_ == quic::QUIC_VERSION_35) {
stop_waiting.least_unacked = least_unacked; stop_waiting.least_unacked = least_unacked;
frames.push_back(quic::QuicFrame(&stop_waiting)); frames.push_back(quic::QuicFrame(&stop_waiting));
DVLOG(1) << "Adding frame: " << frames.back(); DVLOG(1) << "Adding frame: " << frames.back();
...@@ -1064,7 +1064,7 @@ QuicTestPacketMaker::MakeAckAndMultiplePriorityFramesPacket( ...@@ -1064,7 +1064,7 @@ QuicTestPacketMaker::MakeAckAndMultiplePriorityFramesPacket(
DVLOG(1) << "Adding frame: " << frames.back(); DVLOG(1) << "Adding frame: " << frames.back();
quic::QuicStopWaitingFrame stop_waiting; quic::QuicStopWaitingFrame stop_waiting;
if (version_ <= quic::QUIC_VERSION_43) { if (version_ == quic::QUIC_VERSION_35) {
stop_waiting.least_unacked = least_unacked; stop_waiting.least_unacked = least_unacked;
frames.push_back(quic::QuicFrame(&stop_waiting)); frames.push_back(quic::QuicFrame(&stop_waiting));
DVLOG(1) << "Adding frame: " << frames.back(); DVLOG(1) << "Adding frame: " << frames.back();
......
...@@ -925,6 +925,14 @@ QuicConfig DefaultQuicConfig() { ...@@ -925,6 +925,14 @@ QuicConfig DefaultQuicConfig() {
kInitialSessionFlowControlWindowForTest); kInitialSessionFlowControlWindowForTest);
QuicConfigPeer::SetReceivedMaxIncomingDynamicStreams( QuicConfigPeer::SetReceivedMaxIncomingDynamicStreams(
&config, kDefaultMaxStreamsPerConnection); &config, kDefaultMaxStreamsPerConnection);
// Default enable NSTP.
// This is unnecessary for versions > 44
if (!config.HasClientSentConnectionOption(quic::kNSTP,
quic::Perspective::IS_CLIENT)) {
quic::QuicTagVector connection_options;
connection_options.push_back(quic::kNSTP);
config.SetConnectionOptionsToSend(connection_options);
}
return config; return config;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment