Index: net/quic/chromium/quic_network_transaction_unittest.cc |
diff --git a/net/quic/chromium/quic_network_transaction_unittest.cc b/net/quic/chromium/quic_network_transaction_unittest.cc |
index 3020bcc2546466bba65cf8c71329a9386ae2519b..cc8f12cb1cd2d4b4e5c21dc3a55842baafef3283 100644 |
--- a/net/quic/chromium/quic_network_transaction_unittest.cc |
+++ b/net/quic/chromium/quic_network_transaction_unittest.cc |
@@ -54,6 +54,7 @@ |
#include "net/quic/test_tools/crypto_test_utils.h" |
#include "net/quic/test_tools/mock_clock.h" |
#include "net/quic/test_tools/mock_random.h" |
+#include "net/quic/test_tools/quic_spdy_session_peer.h" |
#include "net/quic/test_tools/quic_test_utils.h" |
#include "net/socket/client_socket_factory.h" |
#include "net/socket/mock_client_socket_pool_manager.h" |
@@ -716,6 +717,14 @@ class QuicNetworkTransactionTest |
SendRequestAndExpectHttpResponseFromProxy("hello from http", true, 443); |
} |
+ QuicStreamId GetNthClientInitiatedStreamId(int n) { |
+ return test::GetNthClientInitiatedStreamId(version_, n); |
+ } |
+ |
+ QuicStreamId GetNthServerInitiatedStreamId(int n) { |
+ return test::GetNthServerInitiatedStreamId(version_, n); |
+ } |
+ |
const QuicVersion version_; |
QuicFlagSaver flags_; // Save/restore all QUIC flag values. |
MockClock clock_; |
@@ -778,12 +787,13 @@ TEST_P(QuicNetworkTransactionTest, SocketWatcherEnabled) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more data to read |
@@ -808,12 +818,13 @@ TEST_P(QuicNetworkTransactionTest, SocketWatcherDisabled) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more data to read |
@@ -838,12 +849,13 @@ TEST_P(QuicNetworkTransactionTest, ForceQuic) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more data to read |
@@ -902,12 +914,13 @@ TEST_P(QuicNetworkTransactionTest, ForceQuicForAll) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more data to read |
@@ -930,12 +943,13 @@ TEST_P(QuicNetworkTransactionTest, QuicProxy) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "http", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
@@ -972,12 +986,13 @@ TEST_P(QuicNetworkTransactionTest, QuicProxyWithCert) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "http", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddRead(ASYNC, 0); |
@@ -1025,12 +1040,13 @@ TEST_P(QuicNetworkTransactionTest, AlternativeServicesDifferentHost) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddRead(ASYNC, 0); |
@@ -1067,13 +1083,13 @@ TEST_P(QuicNetworkTransactionTest, RetryMisdirectedRequest) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &request_header_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &request_header_offset)); |
- mock_quic_data.AddRead( |
- ConstructServerResponseHeadersPacket(1, kClientDataStreamId1, false, true, |
- GetResponseHeaders("421"), nullptr)); |
+ mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
+ 1, GetNthClientInitiatedStreamId(0), false, true, |
+ GetResponseHeaders("421"), nullptr)); |
mock_quic_data.AddWrite(ConstructClientAckAndRstPacket( |
- 3, kClientDataStreamId1, QUIC_STREAM_CANCELLED, 1, 1, 1)); |
+ 3, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED, 1, 1, 1)); |
mock_quic_data.AddRead(ASYNC, OK); |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
@@ -1178,12 +1194,13 @@ TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceForQuic) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
@@ -1216,12 +1233,13 @@ TEST_P(QuicNetworkTransactionTest, |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
@@ -1320,12 +1338,13 @@ TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceAllSupportedVersion) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
@@ -1345,10 +1364,11 @@ TEST_P(QuicNetworkTransactionTest, GoAwayWithConnectionMigrationOnPortsOnly) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
// Read a GoAway packet with |
// QuicErrorCode: QUIC_ERROR_MIGRATING_PORT from the peer. |
mock_quic_data.AddSynchronousRead(ConstructServerGoAwayPacket( |
@@ -1356,9 +1376,9 @@ TEST_P(QuicNetworkTransactionTest, GoAwayWithConnectionMigrationOnPortsOnly) { |
"connection migration with port change only")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddSynchronousRead(ConstructServerDataPacket( |
- 3, kClientDataStreamId1, false, true, 0, "hello!")); |
+ 3, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckAndRstPacket( |
- 4, kClientDataStreamId1, QUIC_STREAM_CANCELLED, 3, 3, 1)); |
+ 4, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED, 3, 3, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
@@ -1416,7 +1436,7 @@ TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmed) { |
std::string request_data; |
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData( |
- 1, kClientDataStreamId1, true, true, priority, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority, |
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset, |
&request_data)); |
@@ -1506,7 +1526,7 @@ TEST_P(QuicNetworkTransactionTest, TooManyRtosAfterHandshakeConfirmed) { |
std::string request_data; |
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData( |
- 1, kClientDataStreamId1, true, true, priority, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority, |
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset, |
&request_data)); |
@@ -1605,7 +1625,7 @@ TEST_P(QuicNetworkTransactionTest, |
std::string request_data; |
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData( |
- 1, kClientDataStreamId1, true, true, priority, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority, |
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset, |
&request_data)); |
@@ -1614,8 +1634,8 @@ TEST_P(QuicNetworkTransactionTest, |
quic_data.AddWrite(client_maker_.MakeInitialSettingsPacketAndSaveData( |
2, &header_stream_offset, &settings_data)); |
- quic_data.AddWrite(client_maker_.MakeRstPacket(3, true, kClientDataStreamId1, |
- QUIC_STREAM_CANCELLED)); |
+ quic_data.AddWrite(client_maker_.MakeRstPacket( |
+ 3, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED)); |
// TLP 1 |
quic_data.AddWrite(client_maker_.MakeDataPacket(4, kHeadersStreamId, true, |
false, 0, request_data)); |
@@ -1623,23 +1643,23 @@ TEST_P(QuicNetworkTransactionTest, |
quic_data.AddWrite(client_maker_.MakeDataPacket( |
5, kHeadersStreamId, true, false, settings_offset, settings_data)); |
// RTO 1 |
- quic_data.AddWrite(client_maker_.MakeRstPacket(6, true, kClientDataStreamId1, |
- QUIC_STREAM_CANCELLED)); |
+ quic_data.AddWrite(client_maker_.MakeRstPacket( |
+ 6, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED)); |
quic_data.AddWrite(client_maker_.MakeDataPacket(7, kHeadersStreamId, true, |
false, 0, request_data)); |
// RTO 2 |
quic_data.AddWrite(client_maker_.MakeDataPacket( |
8, kHeadersStreamId, true, false, settings_offset, settings_data)); |
- quic_data.AddWrite(client_maker_.MakeRstPacket(9, true, kClientDataStreamId1, |
- QUIC_STREAM_CANCELLED)); |
+ quic_data.AddWrite(client_maker_.MakeRstPacket( |
+ 9, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED)); |
// RTO 3 |
quic_data.AddWrite(client_maker_.MakeDataPacket(10, kHeadersStreamId, true, |
false, 0, request_data)); |
quic_data.AddWrite(client_maker_.MakeDataPacket( |
11, kHeadersStreamId, true, false, settings_offset, settings_data)); |
// RTO 4 |
- quic_data.AddWrite(client_maker_.MakeRstPacket(12, true, kClientDataStreamId1, |
- QUIC_STREAM_CANCELLED)); |
+ quic_data.AddWrite(client_maker_.MakeRstPacket( |
+ 12, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED)); |
quic_data.AddWrite(client_maker_.MakeDataPacket(13, kHeadersStreamId, true, |
false, 0, request_data)); |
// RTO 5 |
@@ -1704,7 +1724,7 @@ TEST_P(QuicNetworkTransactionTest, ProtocolErrorAfterHandshakeConfirmed) { |
MockQuicData quic_data; |
QuicStreamOffset header_stream_offset = 0; |
quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 1, kClientDataStreamId1, true, true, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
quic_data.AddWrite(ConstructInitialSettingsPacket(2, &header_stream_offset)); |
// Peer sending data from an non-existing stream causes this end to raise |
@@ -1773,7 +1793,7 @@ TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmedThenBroken) { |
std::string request_data; |
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData( |
- 1, kClientDataStreamId1, true, true, priority, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority, |
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset, |
&request_data)); |
@@ -1890,7 +1910,7 @@ TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmedThenBroken2) { |
std::string request_data; |
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData( |
- 1, kClientDataStreamId1, true, true, priority, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority, |
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset, |
&request_data)); |
@@ -2010,7 +2030,7 @@ TEST_P(QuicNetworkTransactionTest, |
std::string request_data; |
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData( |
- 1, kClientDataStreamId1, true, true, priority, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority, |
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset, |
&request_data)); |
@@ -2020,7 +2040,8 @@ TEST_P(QuicNetworkTransactionTest, |
2, &header_stream_offset, &settings_data)); |
quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
// quic_data.AddWrite(ConstructClientAckPacket(3, 1, 1)); |
quic_data.AddWrite(ConstructClientAckPacket( |
3, 1, 1, 1, QuicTime::Delta::FromMilliseconds(25))); |
@@ -2121,7 +2142,7 @@ TEST_P(QuicNetworkTransactionTest, |
std::string request_data; |
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData( |
- 1, kClientDataStreamId1, true, true, priority, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority, |
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset, |
&request_data)); |
@@ -2246,7 +2267,7 @@ TEST_P(QuicNetworkTransactionTest, |
std::string request_data; |
quic_data.AddWrite(client_maker_.MakeRequestHeadersPacketAndSaveData( |
- 1, kClientDataStreamId1, true, true, priority, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, priority, |
GetRequestHeaders("GET", "https", "/"), nullptr, &header_stream_offset, |
&request_data)); |
@@ -2255,8 +2276,8 @@ TEST_P(QuicNetworkTransactionTest, |
quic_data.AddWrite(client_maker_.MakeInitialSettingsPacketAndSaveData( |
2, &header_stream_offset, &settings_data)); |
- quic_data.AddWrite(client_maker_.MakeRstPacket(3, true, kClientDataStreamId1, |
- QUIC_STREAM_CANCELLED)); |
+ quic_data.AddWrite(client_maker_.MakeRstPacket( |
+ 3, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED)); |
// TLP 1 |
quic_data.AddWrite(client_maker_.MakeDataPacket(4, kHeadersStreamId, true, |
false, 0, request_data)); |
@@ -2264,23 +2285,23 @@ TEST_P(QuicNetworkTransactionTest, |
quic_data.AddWrite(client_maker_.MakeDataPacket( |
5, kHeadersStreamId, true, false, settings_offset, settings_data)); |
// RTO 1 |
- quic_data.AddWrite(client_maker_.MakeRstPacket(6, true, kClientDataStreamId1, |
- QUIC_STREAM_CANCELLED)); |
+ quic_data.AddWrite(client_maker_.MakeRstPacket( |
+ 6, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED)); |
quic_data.AddWrite(client_maker_.MakeDataPacket(7, kHeadersStreamId, true, |
false, 0, request_data)); |
// RTO 2 |
quic_data.AddWrite(client_maker_.MakeDataPacket( |
8, kHeadersStreamId, true, false, settings_offset, settings_data)); |
- quic_data.AddWrite(client_maker_.MakeRstPacket(9, true, kClientDataStreamId1, |
- QUIC_STREAM_CANCELLED)); |
+ quic_data.AddWrite(client_maker_.MakeRstPacket( |
+ 9, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED)); |
// RTO 3 |
quic_data.AddWrite(client_maker_.MakeDataPacket(10, kHeadersStreamId, true, |
false, 0, request_data)); |
quic_data.AddWrite(client_maker_.MakeDataPacket( |
11, kHeadersStreamId, true, false, settings_offset, settings_data)); |
// RTO 4 |
- quic_data.AddWrite(client_maker_.MakeRstPacket(12, true, kClientDataStreamId1, |
- QUIC_STREAM_CANCELLED)); |
+ quic_data.AddWrite(client_maker_.MakeRstPacket( |
+ 12, true, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED)); |
quic_data.AddWrite(client_maker_.MakeDataPacket(13, kHeadersStreamId, true, |
false, 0, request_data)); |
// RTO 5 |
@@ -2350,7 +2371,7 @@ TEST_P(QuicNetworkTransactionTest, |
MockQuicData quic_data; |
QuicStreamOffset header_stream_offset = 0; |
quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 1, kClientDataStreamId1, true, true, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
quic_data.AddWrite(ConstructInitialSettingsPacket(2, &header_stream_offset)); |
// Peer sending data from an non-existing stream causes this end to raise |
@@ -2476,30 +2497,30 @@ TEST_P(QuicNetworkTransactionTest, UseExistingAlternativeServiceForQuic) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &request_header_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &request_header_offset)); |
std::string alt_svc_list = |
"quic=\"mail.example.org:444\", quic=\"foo.example.org:443\", " |
"quic=\"bar.example.org:445\""; |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
GetResponseHeaders("200 OK", alt_svc_list), &response_header_offset)); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
// Second QUIC request data. |
// Connection pooling, using existing session, no need to include version |
// as version negotiation has been completed. |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 4, kClientDataStreamId2, false, true, |
+ 4, GetNthClientInitiatedStreamId(1), false, true, |
GetRequestHeaders("GET", "https", "/"), &request_header_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 3, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"), |
- &response_header_offset)); |
- mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId2, |
- false, true, 0, "hello!")); |
+ 3, GetNthClientInitiatedStreamId(1), false, false, |
+ GetResponseHeaders("200 OK"), &response_header_offset)); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 4, GetNthClientInitiatedStreamId(1), false, true, 0, "hello!")); |
mock_quic_data.AddWrite( |
ConstructClientAckAndConnectionClosePacket(5, 4, 3, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
@@ -2530,28 +2551,28 @@ TEST_P(QuicNetworkTransactionTest, UseExistingQUICAlternativeProxy) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &request_header_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "http", "/"), &request_header_offset)); |
std::string alt_svc_list; |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
GetResponseHeaders("200 OK", alt_svc_list), &response_header_offset)); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
// Second QUIC request data. |
// Connection pooling, using existing session, no need to include version |
// as version negotiation has been completed. |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 4, kClientDataStreamId2, false, true, |
+ 4, GetNthClientInitiatedStreamId(1), false, true, |
GetRequestHeaders("GET", "http", "/"), &request_header_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 3, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"), |
- &response_header_offset)); |
- mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId2, |
- false, true, 0, "hello!")); |
+ 3, GetNthClientInitiatedStreamId(1), false, false, |
+ GetResponseHeaders("200 OK"), &response_header_offset)); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 4, GetNthClientInitiatedStreamId(1), false, true, 0, "hello!")); |
mock_quic_data.AddWrite( |
ConstructClientAckAndConnectionClosePacket(5, 4, 3, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
@@ -2597,24 +2618,24 @@ TEST_P(QuicNetworkTransactionTest, PoolByOrigin) { |
ConstructInitialSettingsPacket(1, &request_header_offset)); |
// First request. |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &request_header_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"), |
- &response_header_offset)); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"), &response_header_offset)); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
// Second request. |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 4, kClientDataStreamId2, false, true, |
+ 4, GetNthClientInitiatedStreamId(1), false, true, |
GetRequestHeaders("GET", "https", "/"), &request_header_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 3, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"), |
- &response_header_offset)); |
- mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId2, |
- false, true, 0, "hello!")); |
+ 3, GetNthClientInitiatedStreamId(1), false, false, |
+ GetResponseHeaders("200 OK"), &response_header_offset)); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 4, GetNthClientInitiatedStreamId(1), false, true, 0, "hello!")); |
mock_quic_data.AddWrite( |
ConstructClientAckAndConnectionClosePacket(5, 4, 3, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
@@ -2665,13 +2686,13 @@ TEST_P(QuicNetworkTransactionTest, PoolByDestination) { |
ConstructInitialSettingsPacket(1, &request_header_offset)); |
// First request. |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &request_header_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"), |
- &response_header_offset)); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"), &response_header_offset)); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
// Second request. |
@@ -2680,14 +2701,14 @@ TEST_P(QuicNetworkTransactionTest, PoolByDestination) { |
QuicTestPacketMaker server_maker2(version_, 0, &clock_, origin2.host(), |
Perspective::IS_SERVER); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 4, kClientDataStreamId2, false, true, |
+ 4, GetNthClientInitiatedStreamId(1), false, true, |
GetRequestHeaders("GET", "https", "/", &client_maker2), |
&request_header_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 3, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"), |
- &response_header_offset)); |
- mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId2, |
- false, true, 0, "hello!")); |
+ 3, GetNthClientInitiatedStreamId(1), false, false, |
+ GetResponseHeaders("200 OK"), &response_header_offset)); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 4, GetNthClientInitiatedStreamId(1), false, true, 0, "hello!")); |
mock_quic_data.AddWrite( |
ConstructClientAckAndConnectionClosePacket(5, 4, 3, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
@@ -2778,25 +2799,27 @@ TEST_P(QuicNetworkTransactionTest, |
ConstructInitialSettingsPacket(1, &request_header_offset)); |
// First QUIC request data. |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &request_header_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"), |
- &response_header_offset)); |
- mock_quic_data.AddRead(ConstructServerDataPacket( |
- 2, kClientDataStreamId1, false, true, 0, "hello from mail QUIC!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"), &response_header_offset)); |
+ mock_quic_data.AddRead( |
+ ConstructServerDataPacket(2, GetNthClientInitiatedStreamId(0), false, |
+ true, 0, "hello from mail QUIC!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
// Second QUIC request data. |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 4, kClientDataStreamId2, false, true, |
+ 4, GetNthClientInitiatedStreamId(1), false, true, |
GetRequestHeaders("GET", "https", "/", &client_maker), |
&request_header_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 3, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"), |
- &response_header_offset)); |
- mock_quic_data.AddRead(ConstructServerDataPacket( |
- 4, kClientDataStreamId2, false, true, 0, "hello from mail QUIC!")); |
+ 3, GetNthClientInitiatedStreamId(1), false, false, |
+ GetResponseHeaders("200 OK"), &response_header_offset)); |
+ mock_quic_data.AddRead( |
+ ConstructServerDataPacket(4, GetNthClientInitiatedStreamId(1), false, |
+ true, 0, "hello from mail QUIC!")); |
mock_quic_data.AddWrite( |
ConstructClientAckAndConnectionClosePacket(5, 4, 3, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
@@ -2868,12 +2891,13 @@ TEST_P(QuicNetworkTransactionTest, ConfirmAlternativeService) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
@@ -2919,12 +2943,13 @@ TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceForQuicForHttps) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(SYNCHRONOUS, 0); // EOF |
@@ -2949,12 +2974,13 @@ TEST_P(QuicNetworkTransactionTest, QuicProxyWithRacing) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "http", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
@@ -3045,12 +3071,13 @@ TEST_P(QuicNetworkTransactionTest, ZeroRTTWithHttpRace) { |
MockQuicData mock_quic_data; |
QuicStreamOffset header_stream_offset = 0; |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 1, kClientDataStreamId1, true, true, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(2, 2, 1, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
@@ -3073,12 +3100,13 @@ TEST_P(QuicNetworkTransactionTest, ZeroRTTWithHttpRace) { |
TEST_P(QuicNetworkTransactionTest, ZeroRTTWithNoHttpRace) { |
MockQuicData mock_quic_data; |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 1, kClientDataStreamId1, true, true, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"))); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(2, 2, 1, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
@@ -3144,12 +3172,13 @@ TEST_P(QuicNetworkTransactionTest, ZeroRTTWithConfirmationRequired) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
@@ -3196,7 +3225,7 @@ TEST_P(QuicNetworkTransactionTest, |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
// Read a close connection packet with |
// QuicErrorCode: QUIC_CRYPTO_VERSION_NOT_SUPPORTED from the peer. |
@@ -3249,7 +3278,7 @@ TEST_P(QuicNetworkTransactionTest, |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
// Peer sending data from an non-existing stream causes this end to raise |
// error and close connection. |
@@ -3304,13 +3333,14 @@ TEST_P(QuicNetworkTransactionTest, RstSteamErrorHandling) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
// Read the response headers, then a RST_STREAM frame. |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
mock_quic_data.AddRead(ConstructServerRstPacket( |
- 2, false, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
+ 2, false, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED)); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
@@ -3366,10 +3396,10 @@ TEST_P(QuicNetworkTransactionTest, RstSteamBeforeHeaders) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerRstPacket( |
- 1, false, kClientDataStreamId1, QUIC_STREAM_CANCELLED)); |
+ 1, false, GetNthClientInitiatedStreamId(0), QUIC_STREAM_CANCELLED)); |
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
@@ -3588,7 +3618,7 @@ TEST_P(QuicNetworkTransactionTest, ConnectionCloseDuringConnect) { |
MockQuicData mock_quic_data; |
mock_quic_data.AddSynchronousRead(ConstructServerConnectionClosePacket(1)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 1, kClientDataStreamId1, true, true, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"))); |
mock_quic_data.AddWrite(ConstructClientAckPacket(2, 1, 1, 1)); |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
@@ -3654,7 +3684,7 @@ TEST_P(QuicNetworkTransactionTest, ConnectionCloseDuringConnectProxy) { |
MockQuicData mock_quic_data; |
mock_quic_data.AddSynchronousRead(ConstructServerConnectionClosePacket(1)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 1, kClientDataStreamId1, true, true, |
+ 1, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"))); |
mock_quic_data.AddWrite(ConstructClientAckPacket(2, 1, 1, 1)); |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
@@ -3708,12 +3738,13 @@ TEST_P(QuicNetworkTransactionTest, SecureResourceOverSecureQuic) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more read data. |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
@@ -3822,7 +3853,7 @@ TEST_P(QuicNetworkTransactionTest, QuicUploadWriteError) { |
QuicStreamOffset offset = 0; |
socket_data.AddWrite(ConstructInitialSettingsPacket(1, &offset)); |
socket_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, false, |
+ 2, GetNthClientInitiatedStreamId(0), true, false, |
GetRequestHeaders("POST", "https", "/"), &offset)); |
socket_data.AddWrite(SYNCHRONOUS, ERR_FAILED); |
socket_data.AddSocketDataToFactory(&socket_factory_); |
@@ -3866,27 +3897,27 @@ TEST_P(QuicNetworkTransactionTest, QuicServerPush) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
QuicStreamOffset server_header_offset = 0; |
mock_quic_data.AddRead(ConstructServerPushPromisePacket( |
- 1, kClientDataStreamId1, kServerDataStreamId1, false, |
- GetRequestHeaders("GET", "https", "/pushed.jpg"), &server_header_offset, |
- &server_maker_)); |
+ 1, GetNthClientInitiatedStreamId(0), GetNthServerInitiatedStreamId(0), |
+ false, GetRequestHeaders("GET", "https", "/pushed.jpg"), |
+ &server_header_offset, &server_maker_)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 2, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"), |
- &server_header_offset)); |
+ 2, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"), &server_header_offset)); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 3, kServerDataStreamId1, false, false, GetResponseHeaders("200 OK"), |
- &server_header_offset)); |
- mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 3, GetNthServerInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"), &server_header_offset)); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 4, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(4, 4, 3, 1)); |
mock_quic_data.AddRead(ConstructServerDataPacket( |
- 5, kServerDataStreamId1, false, true, 0, "and hello!")); |
+ 5, GetNthServerInitiatedStreamId(0), false, true, 0, "and hello!")); |
mock_quic_data.AddWrite(ConstructClientAckAndRstPacket( |
- 5, kServerDataStreamId1, QUIC_RST_ACKNOWLEDGEMENT, 5, 5, 1)); |
+ 5, GetNthServerInitiatedStreamId(0), QUIC_RST_ACKNOWLEDGEMENT, 5, 5, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
@@ -3925,24 +3956,25 @@ TEST_P(QuicNetworkTransactionTest, QuicForceHolBlocking) { |
QuicStreamOffset offset = 0; |
mock_quic_data.AddWrite(ConstructInitialSettingsPacket(1, &offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, false, |
+ 2, GetNthClientInitiatedStreamId(0), true, false, |
GetRequestHeaders("POST", "https", "/"), &offset)); |
std::unique_ptr<QuicEncryptedPacket> packet; |
if (version_ == QUIC_VERSION_36) { |
- packet = ConstructClientForceHolDataPacket(3, kClientDataStreamId1, true, |
- true, &offset, "1"); |
+ packet = ConstructClientForceHolDataPacket( |
+ 3, GetNthClientInitiatedStreamId(0), true, true, &offset, "1"); |
} else { |
- packet = |
- ConstructClientDataPacket(3, kClientDataStreamId1, true, true, 0, "1"); |
+ packet = ConstructClientDataPacket(3, GetNthClientInitiatedStreamId(0), |
+ true, true, 0, "1"); |
} |
mock_quic_data.AddWrite(std::move(packet)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"))); |
- mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(4, 2, 1, 1)); |
@@ -4009,16 +4041,17 @@ TEST_P(QuicNetworkTransactionTest, RawHeaderSizeSuccessfullRequest) { |
headers["user-agent"] = ""; |
headers["accept-encoding"] = "gzip, deflate"; |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, std::move(headers), |
+ 2, GetNthClientInitiatedStreamId(0), true, true, std::move(headers), |
&header_stream_offset)); |
QuicStreamOffset expected_raw_header_response_size = 0; |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"), |
- &expected_raw_header_response_size)); |
+ 1, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"), &expected_raw_header_response_size)); |
- mock_quic_data.AddRead(ConstructServerDataPacket( |
- 2, kClientDataStreamId1, false, true, 0, "Main Resource Data")); |
+ mock_quic_data.AddRead( |
+ ConstructServerDataPacket(2, GetNthClientInitiatedStreamId(0), false, |
+ true, 0, "Main Resource Data")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
@@ -4067,35 +4100,37 @@ TEST_P(QuicNetworkTransactionTest, RawHeaderSizeSuccessfullPushHeadersFirst) { |
headers["user-agent"] = ""; |
headers["accept-encoding"] = "gzip, deflate"; |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, std::move(headers), |
+ 2, GetNthClientInitiatedStreamId(0), true, true, std::move(headers), |
&header_stream_offset)); |
QuicStreamOffset server_header_offset = 0; |
QuicStreamOffset expected_raw_header_response_size = 0; |
mock_quic_data.AddRead(ConstructServerPushPromisePacket( |
- 1, kClientDataStreamId1, kServerDataStreamId1, false, |
- GetRequestHeaders("GET", "https", "/pushed.jpg"), &server_header_offset, |
- &server_maker_)); |
+ 1, GetNthClientInitiatedStreamId(0), GetNthServerInitiatedStreamId(0), |
+ false, GetRequestHeaders("GET", "https", "/pushed.jpg"), |
+ &server_header_offset, &server_maker_)); |
expected_raw_header_response_size = server_header_offset; |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 2, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"), |
- &server_header_offset)); |
+ 2, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"), &server_header_offset)); |
expected_raw_header_response_size = |
server_header_offset - expected_raw_header_response_size; |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 3, kServerDataStreamId1, false, false, GetResponseHeaders("200 OK"), |
- &server_header_offset)); |
- mock_quic_data.AddRead(ConstructServerDataPacket( |
- 4, kServerDataStreamId1, false, true, 0, "Pushed Resource Data")); |
+ 3, GetNthServerInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"), &server_header_offset)); |
+ mock_quic_data.AddRead( |
+ ConstructServerDataPacket(4, GetNthServerInitiatedStreamId(0), false, |
+ true, 0, "Pushed Resource Data")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(4, 4, 3, 1)); |
- mock_quic_data.AddRead(ConstructServerDataPacket( |
- 5, kClientDataStreamId1, false, true, 0, "Main Resource Data")); |
+ mock_quic_data.AddRead( |
+ ConstructServerDataPacket(5, GetNthClientInitiatedStreamId(0), false, |
+ true, 0, "Main Resource Data")); |
mock_quic_data.AddRead(ConstructServerConnectionClosePacket(6)); |
@@ -4331,6 +4366,10 @@ class QuicNetworkTransactionWithDestinationTest |
EXPECT_EQ(443, response->socket_address.port()); |
} |
+ QuicStreamId GetNthClientInitiatedStreamId(int n) { |
+ return test::GetNthClientInitiatedStreamId(version_, n); |
+ } |
+ |
MockClock clock_; |
QuicVersion version_; |
DestinationType destination_type_; |
@@ -4437,11 +4476,13 @@ TEST_P(QuicNetworkTransactionWithDestinationTest, PoolIfCertificateValid) { |
mock_quic_data.AddWrite(ConstructInitialSettingsPacket( |
1, &request_header_offset, &client_maker1)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, &request_header_offset, &client_maker1)); |
+ 2, GetNthClientInitiatedStreamId(0), true, &request_header_offset, |
+ &client_maker1)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, &response_header_offset, &server_maker1)); |
- mock_quic_data.AddRead( |
- ConstructServerDataPacket(2, kClientDataStreamId1, &server_maker1)); |
+ 1, GetNthClientInitiatedStreamId(0), &response_header_offset, |
+ &server_maker1)); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), &server_maker1)); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1, &client_maker1)); |
QuicTestPacketMaker client_maker2(version_, 0, &clock_, origin2_, |
@@ -4450,11 +4491,13 @@ TEST_P(QuicNetworkTransactionWithDestinationTest, PoolIfCertificateValid) { |
Perspective::IS_SERVER); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 4, kClientDataStreamId2, false, &request_header_offset, &client_maker2)); |
+ 4, GetNthClientInitiatedStreamId(1), false, &request_header_offset, |
+ &client_maker2)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 3, kClientDataStreamId2, &response_header_offset, &server_maker2)); |
- mock_quic_data.AddRead( |
- ConstructServerDataPacket(4, kClientDataStreamId2, &server_maker2)); |
+ 3, GetNthClientInitiatedStreamId(1), &response_header_offset, |
+ &server_maker2)); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 4, GetNthClientInitiatedStreamId(1), &server_maker2)); |
mock_quic_data.AddWrite(ConstructClientAckPacket(5, 4, 3, 1, &client_maker2)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
@@ -4513,11 +4556,12 @@ TEST_P(QuicNetworkTransactionWithDestinationTest, |
mock_quic_data1.AddWrite(ConstructInitialSettingsPacket( |
1, &header_stream_offset1, &client_maker1)); |
mock_quic_data1.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, &header_stream_offset1, &client_maker1)); |
+ 2, GetNthClientInitiatedStreamId(0), true, &header_stream_offset1, |
+ &client_maker1)); |
mock_quic_data1.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, &server_maker1)); |
- mock_quic_data1.AddRead( |
- ConstructServerDataPacket(2, kClientDataStreamId1, &server_maker1)); |
+ 1, GetNthClientInitiatedStreamId(0), &server_maker1)); |
+ mock_quic_data1.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), &server_maker1)); |
mock_quic_data1.AddWrite( |
ConstructClientAckPacket(3, 2, 1, 1, &client_maker1)); |
mock_quic_data1.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
@@ -4537,11 +4581,12 @@ TEST_P(QuicNetworkTransactionWithDestinationTest, |
mock_quic_data2.AddWrite(ConstructInitialSettingsPacket( |
1, &header_stream_offset2, &client_maker2)); |
mock_quic_data2.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, &header_stream_offset2, &client_maker2)); |
+ 2, GetNthClientInitiatedStreamId(0), true, &header_stream_offset2, |
+ &client_maker2)); |
mock_quic_data2.AddRead(ConstructServerResponseHeadersPacket( |
- 1, kClientDataStreamId1, &server_maker2)); |
- mock_quic_data2.AddRead( |
- ConstructServerDataPacket(2, kClientDataStreamId1, &server_maker2)); |
+ 1, GetNthClientInitiatedStreamId(0), &server_maker2)); |
+ mock_quic_data2.AddRead(ConstructServerDataPacket( |
+ 2, GetNthClientInitiatedStreamId(0), &server_maker2)); |
mock_quic_data2.AddWrite( |
ConstructClientAckPacket(3, 2, 1, 1, &client_maker2)); |
mock_quic_data2.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |
@@ -4568,45 +4613,45 @@ TEST_P(QuicNetworkTransactionTest, QuicServerPushMatchesRequestWithBody) { |
mock_quic_data.AddWrite( |
ConstructInitialSettingsPacket(1, &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 2, kClientDataStreamId1, true, true, |
+ 2, GetNthClientInitiatedStreamId(0), true, true, |
GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); |
QuicStreamOffset server_header_offset = 0; |
mock_quic_data.AddRead(ConstructServerPushPromisePacket( |
- 1, kClientDataStreamId1, kServerDataStreamId1, false, |
- GetRequestHeaders("GET", "https", "/pushed.jpg"), &server_header_offset, |
- &server_maker_)); |
+ 1, GetNthClientInitiatedStreamId(0), GetNthServerInitiatedStreamId(0), |
+ false, GetRequestHeaders("GET", "https", "/pushed.jpg"), |
+ &server_header_offset, &server_maker_)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 2, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"), |
- &server_header_offset)); |
+ 2, GetNthClientInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"), &server_header_offset)); |
mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 3, kServerDataStreamId1, false, false, GetResponseHeaders("200 OK"), |
- &server_header_offset)); |
- mock_quic_data.AddRead(ConstructServerDataPacket(4, kClientDataStreamId1, |
- false, true, 0, "hello!")); |
+ 3, GetNthServerInitiatedStreamId(0), false, false, |
+ GetResponseHeaders("200 OK"), &server_header_offset)); |
+ mock_quic_data.AddRead(ConstructServerDataPacket( |
+ 4, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(4, 4, 3, 1)); |
mock_quic_data.AddRead(ConstructServerDataPacket( |
- 5, kServerDataStreamId1, false, true, 0, "and hello!")); |
+ 5, GetNthServerInitiatedStreamId(0), false, true, 0, "and hello!")); |
// Because the matching request has a body, we will see the push |
// stream get cancelled, and the matching request go out on the |
// wire. |
mock_quic_data.AddWrite(ConstructClientAckAndRstPacket( |
- 5, kServerDataStreamId1, QUIC_STREAM_CANCELLED, 5, 5, 1)); |
+ 5, GetNthServerInitiatedStreamId(0), QUIC_STREAM_CANCELLED, 5, 5, 1)); |
const char kBody[] = "1"; |
mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( |
- 6, kClientDataStreamId2, false, false, |
+ 6, GetNthClientInitiatedStreamId(1), false, false, |
GetRequestHeaders("GET", "https", "/pushed.jpg"), &header_stream_offset)); |
mock_quic_data.AddWrite(ConstructClientMultipleDataFramesPacket( |
- 7, kClientDataStreamId2, false, true, {kBody}, 0)); |
+ 7, GetNthClientInitiatedStreamId(1), false, true, {kBody}, 0)); |
// We see the same response as for the earlier pushed and cancelled |
// stream. |
mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( |
- 6, kClientDataStreamId2, false, false, GetResponseHeaders("200 OK"), |
- &server_header_offset)); |
+ 6, GetNthClientInitiatedStreamId(1), false, false, |
+ GetResponseHeaders("200 OK"), &server_header_offset)); |
mock_quic_data.AddRead(ConstructServerDataPacket( |
- 7, kClientDataStreamId2, false, true, 0, "and hello!")); |
+ 7, GetNthClientInitiatedStreamId(1), false, true, 0, "and hello!")); |
mock_quic_data.AddWrite(ConstructClientAckPacket(8, 7, 6, 1)); |
mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read |