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/
[email protected]
Review URL: https://codereview.chromium.org/215663002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260637 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/quic/test_tools/quic_test_utils.cc b/net/quic/test_tools/quic_test_utils.cc
index 7d24b2f..fbba004 100644
--- a/net/quic/test_tools/quic_test_utils.cc
+++ b/net/quic/test_tools/quic_test_utils.cc
@@ -270,7 +270,8 @@
IPEndPoint(TestPeerIPAddress(), kTestPort),
new testing::NiceMock<MockHelper>(),
new testing::NiceMock<MockPacketWriter>(),
- is_server, QuicSupportedVersions()),
+ is_server, QuicSupportedVersions(),
+ kInitialFlowControlWindowForTest),
writer_(QuicConnectionPeer::GetWriter(this)),
helper_(helper()) {
}
@@ -280,7 +281,8 @@
: QuicConnection(kTestConnectionId, address,
new testing::NiceMock<MockHelper>(),
new testing::NiceMock<MockPacketWriter>(),
- is_server, QuicSupportedVersions()),
+ is_server, QuicSupportedVersions(),
+ kInitialFlowControlWindowForTest),
writer_(QuicConnectionPeer::GetWriter(this)),
helper_(helper()) {
}
@@ -291,7 +293,8 @@
IPEndPoint(TestPeerIPAddress(), kTestPort),
new testing::NiceMock<MockHelper>(),
new testing::NiceMock<MockPacketWriter>(),
- is_server, QuicSupportedVersions()),
+ is_server, QuicSupportedVersions(),
+ kInitialFlowControlWindowForTest),
writer_(QuicConnectionPeer::GetWriter(this)),
helper_(helper()) {
}
@@ -302,7 +305,8 @@
IPEndPoint(TestPeerIPAddress(), kTestPort),
new testing::NiceMock<MockHelper>(),
new testing::NiceMock<MockPacketWriter>(),
- is_server, supported_versions),
+ is_server, supported_versions,
+ kInitialFlowControlWindowForTest),
writer_(QuicConnectionPeer::GetWriter(this)),
helper_(helper()) {
}
@@ -459,6 +463,14 @@
return addr;
}
+void GenerateBody(string* body, int length) {
+ body->clear();
+ body->reserve(length);
+ for (int i = 0; i < length; ++i) {
+ body->append(1, static_cast<char>(32 + i % (126 - 32)));
+ }
+}
+
QuicEncryptedPacket* ConstructEncryptedPacket(
QuicConnectionId connection_id,
bool version_flag,