Replace QuicTransportVersion with ParsedQuicVersion in parts of net
Change-Id: I82fabb3c8ba9b91d7970cd01a8103645a8607828
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1586577
Commit-Queue: Nick Harper <[email protected]>
Reviewed-by: Misha Efimov <[email protected]>
Reviewed-by: Ryan Hamilton <[email protected]>
Cr-Commit-Position: refs/heads/master@{#655837}
diff --git a/net/quic/quic_network_transaction_unittest.cc b/net/quic/quic_network_transaction_unittest.cc
index 17f9ac87..ccffb73 100644
--- a/net/quic/quic_network_transaction_unittest.cc
+++ b/net/quic/quic_network_transaction_unittest.cc
@@ -119,7 +119,7 @@
struct PoolingTestParams {
friend std::ostream& operator<<(std::ostream& os,
const PoolingTestParams& p) {
- os << "{ version: " << QuicVersionToString(p.version)
+ os << "{ version: " << ParsedQuicVersionToString(p.version)
<< ", destination_type: ";
switch (p.destination_type) {
case SAME_AS_FIRST:
@@ -138,27 +138,27 @@
return os;
}
- quic::QuicTransportVersion version;
+ quic::ParsedQuicVersion version;
DestinationType destination_type;
bool client_headers_include_h2_stream_dependency;
};
std::string GenerateQuicVersionsListForAltSvcHeader(
- const quic::QuicTransportVersionVector& versions) {
+ const quic::ParsedQuicVersionVector& versions) {
std::string result = "";
- for (const quic::QuicTransportVersion& version : versions) {
+ for (const quic::ParsedQuicVersion& version : versions) {
if (!result.empty())
result.append(",");
- result.append(base::NumberToString(version));
+ result.append(base::NumberToString(version.transport_version));
}
return result;
}
std::vector<PoolingTestParams> GetPoolingTestParams() {
std::vector<PoolingTestParams> params;
- quic::QuicTransportVersionVector all_supported_versions =
- quic::AllSupportedTransportVersions();
- for (const quic::QuicTransportVersion version : all_supported_versions) {
+ quic::ParsedQuicVersionVector all_supported_versions =
+ quic::AllSupportedVersions();
+ for (const quic::ParsedQuicVersion version : all_supported_versions) {
params.push_back(PoolingTestParams{version, SAME_AS_FIRST, false});
params.push_back(PoolingTestParams{version, SAME_AS_FIRST, true});
params.push_back(PoolingTestParams{version, SAME_AS_SECOND, false});
@@ -256,13 +256,13 @@
class QuicNetworkTransactionTest
: public PlatformTest,
public ::testing::WithParamInterface<
- std::tuple<quic::QuicTransportVersion, bool>>,
+ std::tuple<quic::ParsedQuicVersion, bool>>,
public WithScopedTaskEnvironment {
protected:
QuicNetworkTransactionTest()
: version_(std::get<0>(GetParam())),
client_headers_include_h2_stream_dependency_(std::get<1>(GetParam())),
- supported_versions_(quic::test::SupportedTransportVersions(version_)),
+ supported_versions_(quic::test::SupportedVersions(version_)),
random_generator_(0),
client_maker_(
version_,
@@ -675,7 +675,7 @@
}
std::string ConstructDataHeader(size_t body_len) {
- if (version_ != quic::QUIC_VERSION_99) {
+ if (version_.transport_version != quic::QUIC_VERSION_99) {
return "";
}
quic::HttpEncoder encoder;
@@ -684,8 +684,7 @@
return std::string(buffer.get(), header_length);
}
- void CreateSession(
- const quic::QuicTransportVersionVector& supported_versions) {
+ void CreateSession(const quic::ParsedQuicVersionVector& supported_versions) {
session_params_.enable_quic = true;
session_params_.quic_supported_versions = supported_versions;
session_params_.quic_headers_include_h2_stream_dependency =
@@ -725,7 +724,8 @@
EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
EXPECT_TRUE(response->was_fetched_via_spdy);
EXPECT_TRUE(response->was_alpn_negotiated);
- EXPECT_EQ(QuicHttpStream::ConnectionInfoFromQuicVersion(version_),
+ EXPECT_EQ(QuicHttpStream::ConnectionInfoFromQuicVersion(
+ version_.transport_version),
response->connection_info);
}
@@ -935,11 +935,13 @@
}
quic::QuicStreamId GetNthClientInitiatedBidirectionalStreamId(int n) {
- return quic::test::GetNthClientInitiatedBidirectionalStreamId(version_, n);
+ return quic::test::GetNthClientInitiatedBidirectionalStreamId(
+ version_.transport_version, n);
}
quic::QuicStreamId GetNthServerInitiatedUnidirectionalStreamId(int n) {
- return quic::test::GetNthServerInitiatedUnidirectionalStreamId(version_, n);
+ return quic::test::GetNthServerInitiatedUnidirectionalStreamId(
+ version_.transport_version, n);
}
static void AddCertificate(SSLSocketDataProvider* ssl_data) {
@@ -948,9 +950,9 @@
ASSERT_TRUE(ssl_data->ssl_info.cert);
}
- const quic::QuicTransportVersion version_;
+ const quic::ParsedQuicVersion version_;
const bool client_headers_include_h2_stream_dependency_;
- quic::QuicTransportVersionVector supported_versions_;
+ quic::ParsedQuicVersionVector supported_versions_;
QuicFlagSaver flags_; // Save/restore all QUIC flag values.
quic::MockClock clock_;
quic::test::MockRandom random_generator_;
@@ -1004,9 +1006,8 @@
INSTANTIATE_TEST_SUITE_P(
VersionIncludeStreamDependencySequence,
QuicNetworkTransactionTest,
- ::testing::Combine(
- ::testing::ValuesIn(quic::AllSupportedTransportVersions()),
- ::testing::Bool()));
+ ::testing::Combine(::testing::ValuesIn(quic::AllSupportedVersions()),
+ ::testing::Bool()));
TEST_P(QuicNetworkTransactionTest, WriteErrorHandshakeConfirmed) {
session_params_.retry_without_alt_svc_on_quic_errors = false;
@@ -1213,7 +1214,7 @@
int log_stream_id;
ASSERT_TRUE(entries[pos].GetIntegerValue("stream_id", &log_stream_id));
- EXPECT_EQ(quic::QuicUtils::GetHeadersStreamId(version_),
+ EXPECT_EQ(quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
static_cast<quic::QuicStreamId>(log_stream_id));
}
@@ -1251,10 +1252,12 @@
for (size_t offset = 0; offset < spdy_frame.size(); offset += chunk_size) {
size_t len = std::min(chunk_size, spdy_frame.size() - offset);
mock_quic_data.AddRead(
- ASYNC, ConstructServerDataPacket(
- packet_number++,
- quic::QuicUtils::GetHeadersStreamId(version_), false, false,
- offset, base::StringPiece(spdy_frame.data() + offset, len)));
+ ASYNC,
+ ConstructServerDataPacket(
+ packet_number++,
+ quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ false, false, offset,
+ base::StringPiece(spdy_frame.data() + offset, len)));
}
std::string header = ConstructDataHeader(6);
@@ -1310,10 +1313,12 @@
for (size_t offset = 0; offset < spdy_frame.size(); offset += chunk_size) {
size_t len = std::min(chunk_size, spdy_frame.size() - offset);
mock_quic_data.AddRead(
- ASYNC, ConstructServerDataPacket(
- packet_number++,
- quic::QuicUtils::GetHeadersStreamId(version_), false, false,
- offset, base::StringPiece(spdy_frame.data() + offset, len)));
+ ASYNC,
+ ConstructServerDataPacket(
+ packet_number++,
+ quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ false, false, offset,
+ base::StringPiece(spdy_frame.data() + offset, len)));
}
std::string header = ConstructDataHeader(6);
@@ -1523,12 +1528,10 @@
}
TEST_P(QuicNetworkTransactionTest, DoNotUseQuicForUnsupportedVersion) {
- quic::QuicTransportVersion unsupported_version =
- quic::QUIC_VERSION_UNSUPPORTED;
+ quic::ParsedQuicVersion unsupported_version = quic::UnsupportedQuicVersion();
// Add support for another QUIC version besides |version_|. Also find a
// unsupported version.
- for (const quic::QuicTransportVersion& version :
- quic::AllSupportedTransportVersions()) {
+ for (const quic::ParsedQuicVersion& version : quic::AllSupportedVersions()) {
if (version == version_)
continue;
if (supported_versions_.size() != 2) {
@@ -1538,7 +1541,7 @@
unsupported_version = version;
break;
}
- DCHECK_NE(unsupported_version, quic::QUIC_VERSION_UNSUPPORTED);
+ DCHECK_NE(unsupported_version, quic::UnsupportedQuicVersion());
// Set up alternative service to use QUIC with a version that is not
// supported.
@@ -1562,8 +1565,7 @@
// the response from the server will advertise new Alt-Svc with supported
// versions.
std::string advertised_versions_list_str =
- GenerateQuicVersionsListForAltSvcHeader(
- quic::AllSupportedTransportVersions());
+ GenerateQuicVersionsListForAltSvcHeader(quic::AllSupportedVersions());
std::string altsvc_header =
base::StringPrintf("Alt-Svc: quic=\":443\"; v=\"%s\"\r\n\r\n",
advertised_versions_list_str.c_str());
@@ -1618,7 +1620,11 @@
EXPECT_EQ(kProtoQUIC, alt_svc_info_vector[0].alternative_service().protocol);
EXPECT_EQ(2u, alt_svc_info_vector[0].advertised_versions().size());
// Advertised versions will be lised in a sorted order.
- std::sort(supported_versions_.begin(), supported_versions_.end());
+ std::sort(
+ supported_versions_.begin(), supported_versions_.end(),
+ [](const quic::ParsedQuicVersion& a, const quic::ParsedQuicVersion& b) {
+ return a.transport_version < b.transport_version;
+ });
EXPECT_EQ(supported_versions_[0],
alt_svc_info_vector[0].advertised_versions()[0]);
EXPECT_EQ(supported_versions_[1],
@@ -1813,10 +1819,8 @@
// Add support for another QUIC version besides |version_| on the client side.
// Also find a different version advertised by the server.
- quic::QuicTransportVersion advertised_version_2 =
- quic::QUIC_VERSION_UNSUPPORTED;
- for (const quic::QuicTransportVersion& version :
- quic::AllSupportedTransportVersions()) {
+ quic::ParsedQuicVersion advertised_version_2 = quic::UnsupportedQuicVersion();
+ for (const quic::ParsedQuicVersion& version : quic::AllSupportedVersions()) {
if (version == version_)
continue;
if (supported_versions_.size() != 2) {
@@ -1826,11 +1830,11 @@
advertised_version_2 = version;
break;
}
- DCHECK_NE(advertised_version_2, quic::QUIC_VERSION_UNSUPPORTED);
+ DCHECK_NE(advertised_version_2, quic::UnsupportedQuicVersion());
- std::string QuicAltSvcWithVersionHeader =
- base::StringPrintf("Alt-Svc: quic=\":443\";v=\"%d,%d\"\r\n\r\n",
- advertised_version_2, version_);
+ std::string QuicAltSvcWithVersionHeader = base::StringPrintf(
+ "Alt-Svc: quic=\":443\";v=\"%d,%d\"\r\n\r\n",
+ advertised_version_2.transport_version, version_.transport_version);
MockRead http_reads[] = {
MockRead("HTTP/1.1 200 OK\r\n"),
@@ -1879,21 +1883,21 @@
// The QuicStreamFactoy will pick the preferred QUIC_VERSION: |version_|,
// which is verified as the PacketMakers are using |version_|.
- quic::QuicTransportVersion common_version_2 = quic::QUIC_VERSION_UNSUPPORTED;
- for (const quic::QuicTransportVersion& version :
- quic::AllSupportedTransportVersions()) {
+ quic::ParsedQuicVersion common_version_2 = quic::UnsupportedQuicVersion();
+ for (const quic::ParsedQuicVersion& version : quic::AllSupportedVersions()) {
if (version == version_)
continue;
common_version_2 = version;
break;
}
- DCHECK_NE(common_version_2, quic::QUIC_VERSION_UNSUPPORTED);
+ DCHECK_NE(common_version_2, quic::UnsupportedQuicVersion());
supported_versions_.push_back(
common_version_2); // Supported but unpreferred.
std::string QuicAltSvcWithVersionHeader = base::StringPrintf(
- "Alt-Svc: quic=\":443\";v=\"%d,%d\"\r\n\r\n", common_version_2, version_);
+ "Alt-Svc: quic=\":443\";v=\"%d,%d\"\r\n\r\n",
+ common_version_2.transport_version, version_.transport_version);
MockRead http_reads[] = {
MockRead("HTTP/1.1 200 OK\r\n"),
@@ -2051,8 +2055,7 @@
TEST_P(QuicNetworkTransactionTest,
StoreMutuallySupportedVersionsWhenProcessAltSvc) {
// Add support for another QUIC version besides |version_|.
- for (const quic::QuicTransportVersion& version :
- quic::AllSupportedTransportVersions()) {
+ for (const quic::ParsedQuicVersion& version : quic::AllSupportedVersions()) {
if (version == version_)
continue;
supported_versions_.push_back(version);
@@ -2060,8 +2063,7 @@
}
std::string advertised_versions_list_str =
- GenerateQuicVersionsListForAltSvcHeader(
- quic::AllSupportedTransportVersions());
+ GenerateQuicVersionsListForAltSvcHeader(quic::AllSupportedVersions());
std::string altsvc_header =
base::StringPrintf("Alt-Svc: quic=\":443\"; v=\"%s\"\r\n\r\n",
advertised_versions_list_str.c_str());
@@ -2116,7 +2118,11 @@
EXPECT_EQ(kProtoQUIC, alt_svc_info_vector[0].alternative_service().protocol);
EXPECT_EQ(2u, alt_svc_info_vector[0].advertised_versions().size());
// Advertised versions will be lised in a sorted order.
- std::sort(supported_versions_.begin(), supported_versions_.end());
+ std::sort(
+ supported_versions_.begin(), supported_versions_.end(),
+ [](const quic::ParsedQuicVersion& a, const quic::ParsedQuicVersion& b) {
+ return a.transport_version < b.transport_version;
+ });
EXPECT_EQ(supported_versions_[0],
alt_svc_info_vector[0].advertised_versions()[0]);
EXPECT_EQ(supported_versions_[1],
@@ -2124,8 +2130,8 @@
}
TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceAllSupportedVersion) {
- std::string altsvc_header =
- base::StringPrintf("Alt-Svc: quic=\":443\"; v=\"%u\"\r\n\r\n", version_);
+ std::string altsvc_header = base::StringPrintf(
+ "Alt-Svc: quic=\":443\"; v=\"%u\"\r\n\r\n", version_.transport_version);
MockRead http_reads[] = {
MockRead("HTTP/1.1 200 OK\r\n"), MockRead(altsvc_header.c_str()),
MockRead("hello world"),
@@ -2169,7 +2175,7 @@
}
TEST_P(QuicNetworkTransactionTest, GoAwayWithConnectionMigrationOnPortsOnly) {
- if (version_ == quic::QUIC_VERSION_99) {
+ if (version_.transport_version == quic::QUIC_VERSION_99) {
// Not available under version 99
return;
}
@@ -2247,7 +2253,7 @@
// alternate network as well, QUIC is marked as broken and the brokenness will
// not expire when default network changes.
TEST_P(QuicNetworkTransactionTest, QuicFailsOnBothNetworksWhileTCPSucceeds) {
- if (version_ >= quic::QUIC_VERSION_47) {
+ if (version_.transport_version >= quic::QUIC_VERSION_47) {
// TODO(nharper): reenable once MakeDummyCHLOPacket() fixed
return;
}
@@ -2272,7 +2278,7 @@
quic_data.AddWrite(SYNCHRONOUS,
client_maker_.MakeDummyCHLOPacket(packet_num++));
// TODO(zhongyi): remove condition check once b/115926584 is fixed.
- if (version_ <= quic::QUIC_VERSION_39) {
+ if (version_.transport_version <= quic::QUIC_VERSION_39) {
quic_data.AddWrite(SYNCHRONOUS,
client_maker_.MakeDummyCHLOPacket(packet_num++));
}
@@ -2367,7 +2373,7 @@
// alternate network, QUIC is marked as broken. The brokenness will expire when
// the default network changes.
TEST_P(QuicNetworkTransactionTest, RetryOnAlternateNetworkWhileTCPSucceeds) {
- if (version_ >= quic::QUIC_VERSION_47) {
+ if (version_.transport_version >= quic::QUIC_VERSION_47) {
// TODO(nharper): reenable once MakeDummyCHLOPacket() fixed
return;
}
@@ -2392,7 +2398,7 @@
quic_data.AddWrite(SYNCHRONOUS,
client_maker_.MakeDummyCHLOPacket(packet_num++));
// TODO(zhongyi): remove condition check once b/115926584 is fixed.
- if (version_ <= quic::QUIC_VERSION_39) {
+ if (version_.transport_version <= quic::QUIC_VERSION_39) {
quic_data.AddWrite(SYNCHRONOUS,
client_maker_.MakeDummyCHLOPacket(packet_num++));
}
@@ -2501,7 +2507,7 @@
// before handshake is confirmed. If TCP doesn't succeed but QUIC on the
// alternative network succeeds, QUIC is not marked as broken.
TEST_P(QuicNetworkTransactionTest, RetryOnAlternateNetworkWhileTCPHanging) {
- if (version_ >= quic::QUIC_VERSION_47) {
+ if (version_.transport_version >= quic::QUIC_VERSION_47) {
// TODO(nharper): reenable once MakeDummyCHLOPacket() fixed
return;
}
@@ -2527,7 +2533,7 @@
client_maker_.MakeDummyCHLOPacket(packet_num++));
// TODO(zhongyi): remove condition check once b/115926584 is fixed, i.e.,
// quic_fix_has_pending_crypto_data is introduced and enabled.
- if (version_ <= quic::QUIC_VERSION_39) {
+ if (version_.transport_version <= quic::QUIC_VERSION_39) {
quic_data.AddWrite(SYNCHRONOUS,
client_maker_.MakeDummyCHLOPacket(packet_num++));
}
@@ -2654,42 +2660,50 @@
client_maker_.MakeInitialSettingsPacketAndSaveData(
2, &header_stream_offset, &settings_data));
// TLP 1
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 3, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- // TLP 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 4, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 1
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 5, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 6, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 7, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 8, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 3
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 9, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 10, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 3, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ // TLP 2
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 4, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 1
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 5, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 6, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 2
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 7, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 8, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 3
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 9, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 10, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeConnectionClosePacket(
11, true, quic::QUIC_NETWORK_IDLE_TIMEOUT,
@@ -2764,51 +2778,61 @@
client_maker_.MakeInitialSettingsPacketAndSaveData(
2, &header_stream_offset, &settings_data));
// TLP 1
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 3, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- // TLP 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 4, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 1
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 5, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 6, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 7, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 8, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 3
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 9, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 10, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 3, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ // TLP 2
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 4, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 1
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 5, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 6, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 2
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 7, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 8, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 3
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 9, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 10, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
// RTO 4
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 11, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 11, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 12, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 12, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
// RTO 5
quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeConnectionClosePacket(
13, true, quic::QUIC_TOO_MANY_RTOS,
@@ -2887,51 +2911,58 @@
3, true, GetNthClientInitiatedBidirectionalStreamId(0),
quic::QUIC_STREAM_CANCELLED));
// TLP 1
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 4, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 4, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
// TLP 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 5, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 5, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
// RTO 1
quic_data.AddWrite(SYNCHRONOUS,
client_maker_.MakeRstPacket(
6, true, GetNthClientInitiatedBidirectionalStreamId(0),
quic::QUIC_STREAM_CANCELLED));
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 7, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 7, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
// RTO 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 8, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 8, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
quic_data.AddWrite(SYNCHRONOUS,
client_maker_.MakeRstPacket(
9, true, GetNthClientInitiatedBidirectionalStreamId(0),
quic::QUIC_STREAM_CANCELLED));
// RTO 3
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 10, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 10, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 11, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 11, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
// RTO 4
quic_data.AddWrite(
SYNCHRONOUS, client_maker_.MakeRstPacket(
12, true, GetNthClientInitiatedBidirectionalStreamId(0),
quic::QUIC_STREAM_CANCELLED));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 13, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 13, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
// RTO 5
quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeConnectionClosePacket(
14, true, quic::QUIC_TOO_MANY_RTOS,
@@ -3075,42 +3106,50 @@
client_maker_.MakeInitialSettingsPacketAndSaveData(
2, &header_stream_offset, &settings_data));
// TLP 1
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 3, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- // TLP 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 4, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 1
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 5, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 6, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 7, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 8, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 3
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 9, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 10, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 3, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ // TLP 2
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 4, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 1
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 5, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 6, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 2
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 7, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 8, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 3
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 9, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 10, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeConnectionClosePacket(
11, true, quic::QUIC_NETWORK_IDLE_TIMEOUT,
@@ -3209,42 +3248,50 @@
client_maker_.MakeInitialSettingsPacketAndSaveData(
2, &header_stream_offset, &settings_data));
// TLP 1
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 3, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- // TLP 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 4, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 1
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 5, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 6, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 7, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 8, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 3
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 9, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 10, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 3, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ // TLP 2
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 4, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 1
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 5, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 6, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 2
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 7, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 8, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 3
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 9, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 10, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeConnectionClosePacket(
11, true, quic::QUIC_NETWORK_IDLE_TIMEOUT,
@@ -3358,41 +3405,49 @@
// TLP 1
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 4, quic::QuicUtils::GetHeadersStreamId(version_), false,
- false, 0, request_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 4, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ false, false, 0, request_data));
// TLP 2
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 5, quic::QuicUtils::GetHeadersStreamId(version_), false,
- false, settings_offset, settings_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 5, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ false, false, settings_offset, settings_data));
// RTO 1
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 6, quic::QuicUtils::GetHeadersStreamId(version_), false,
- false, 0, request_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 6, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ false, false, 0, request_data));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 7, quic::QuicUtils::GetHeadersStreamId(version_), false,
- false, settings_offset, settings_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 7, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ false, false, settings_offset, settings_data));
// RTO 2
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 8, quic::QuicUtils::GetHeadersStreamId(version_), false,
- false, 0, request_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 8, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ false, false, 0, request_data));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 9, quic::QuicUtils::GetHeadersStreamId(version_), false,
- false, settings_offset, settings_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 9, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ false, false, settings_offset, settings_data));
// RTO 3
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 10, quic::QuicUtils::GetHeadersStreamId(version_), false,
- false, 0, request_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 10, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ false, false, 0, request_data));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 11, quic::QuicUtils::GetHeadersStreamId(version_), false,
- false, settings_offset, settings_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 11, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ false, false, settings_offset, settings_data));
if (GetQuicReloadableFlag(
quic_fix_time_of_first_packet_sent_after_receiving)) {
@@ -3492,51 +3547,61 @@
client_maker_.MakeInitialSettingsPacketAndSaveData(
2, &header_stream_offset, &settings_data));
// TLP 1
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 3, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- // TLP 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 4, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 1
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 5, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 6, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 7, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 8, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
- // RTO 3
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 9, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 10, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 3, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ // TLP 2
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 4, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 1
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 5, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 6, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 2
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 7, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 8, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
+ // RTO 3
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 9, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 10, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
// RTO 4
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 11, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 11, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 12, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 12, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeConnectionClosePacket(
13, true, quic::QUIC_TOO_MANY_RTOS,
@@ -3640,51 +3705,58 @@
3, true, GetNthClientInitiatedBidirectionalStreamId(0),
quic::QUIC_STREAM_CANCELLED));
// TLP 1
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 4, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 4, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
// TLP 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 5, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 5, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
// RTO 1
quic_data.AddWrite(SYNCHRONOUS,
client_maker_.MakeRstPacket(
6, true, GetNthClientInitiatedBidirectionalStreamId(0),
quic::QUIC_STREAM_CANCELLED));
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 7, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 7, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
// RTO 2
- quic_data.AddWrite(SYNCHRONOUS,
- client_maker_.MakeDataPacket(
- 8, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
+ quic_data.AddWrite(
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 8, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
quic_data.AddWrite(SYNCHRONOUS,
client_maker_.MakeRstPacket(
9, true, GetNthClientInitiatedBidirectionalStreamId(0),
quic::QUIC_STREAM_CANCELLED));
// RTO 3
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 10, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 10, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 11, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, settings_offset, settings_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 11, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, settings_offset, settings_data));
// RTO 4
quic_data.AddWrite(
SYNCHRONOUS, client_maker_.MakeRstPacket(
12, true, GetNthClientInitiatedBidirectionalStreamId(0),
quic::QUIC_STREAM_CANCELLED));
quic_data.AddWrite(
- SYNCHRONOUS, client_maker_.MakeDataPacket(
- 13, quic::QuicUtils::GetHeadersStreamId(version_), true,
- false, 0, request_data));
+ SYNCHRONOUS,
+ client_maker_.MakeDataPacket(
+ 13, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ true, false, 0, request_data));
// RTO 5
quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeConnectionClosePacket(
14, true, quic::QUIC_TOO_MANY_RTOS,
@@ -4117,8 +4189,9 @@
TEST_P(QuicNetworkTransactionTest,
DoNotUseAlternativeServiceQuicUnsupportedVersion) {
- std::string altsvc_header = base::StringPrintf(
- "Alt-Svc: quic=\":443\"; v=\"%u\"\r\n\r\n", version_ - 1);
+ std::string altsvc_header =
+ base::StringPrintf("Alt-Svc: quic=\":443\"; v=\"%u\"\r\n\r\n",
+ version_.transport_version - 1);
MockRead http_reads[] = {
MockRead("HTTP/1.1 200 OK\r\n"), MockRead(altsvc_header.c_str()),
MockRead("hello world"),
@@ -5032,8 +5105,8 @@
mock_quic_data.AddWrite(
SYNCHRONOUS,
client_maker_.MakeDataPacket(
- 3, quic::QuicUtils::GetHeadersStreamId(version_), false, false,
- client_header_stream_offset,
+ 3, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ false, false, client_header_stream_offset,
quic::QuicStringPiece(spdy_frame.data(), spdy_frame.size())));
client_header_stream_offset += spdy_frame.size();
@@ -5125,8 +5198,8 @@
mock_quic_data.AddWrite(
SYNCHRONOUS,
client_maker_.MakeDataPacket(
- 3, quic::QuicUtils::GetHeadersStreamId(version_), false, false,
- client_header_stream_offset,
+ 3, quic::QuicUtils::GetHeadersStreamId(version_.transport_version),
+ false, false, client_header_stream_offset,
quic::QuicStringPiece(spdy_frame.data(), spdy_frame.size())));
client_header_stream_offset += spdy_frame.size();
@@ -5188,8 +5261,9 @@
EXPECT_EQ("HTTP/1.1 425 TOO_EARLY", response->headers->GetStatusLine());
EXPECT_TRUE(response->was_fetched_via_spdy);
EXPECT_TRUE(response->was_alpn_negotiated);
- EXPECT_EQ(QuicHttpStream::ConnectionInfoFromQuicVersion(version_),
- response->connection_info);
+ EXPECT_EQ(
+ QuicHttpStream::ConnectionInfoFromQuicVersion(version_.transport_version),
+ response->connection_info);
}
TEST_P(QuicNetworkTransactionTest,
@@ -5357,8 +5431,9 @@
EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
EXPECT_TRUE(response->was_fetched_via_spdy);
EXPECT_TRUE(response->was_alpn_negotiated);
- EXPECT_EQ(QuicHttpStream::ConnectionInfoFromQuicVersion(version_),
- response->connection_info);
+ EXPECT_EQ(
+ QuicHttpStream::ConnectionInfoFromQuicVersion(version_.transport_version),
+ response->connection_info);
std::string response_data;
ASSERT_EQ(ERR_QUIC_PROTOCOL_ERROR, ReadTransaction(&trans, &response_data));
@@ -5739,7 +5814,7 @@
}
TEST_P(QuicNetworkTransactionTest, ConnectionCloseDuringConnect) {
- if (version_ >= quic::QUIC_VERSION_47) {
+ if (version_.transport_version >= quic::QUIC_VERSION_47) {
// TODO(nharper): reenable once MakeDummyCHLOPacket() fixed
return;
}
@@ -6218,7 +6293,7 @@
GetRequestHeaders("GET", "https", "/pushed.jpg"),
&server_header_offset, &server_maker_));
if (client_headers_include_h2_stream_dependency_ &&
- version_ >= quic::QUIC_VERSION_43) {
+ version_.transport_version >= quic::QUIC_VERSION_43) {
mock_quic_data.AddWrite(SYNCHRONOUS,
ConstructClientPriorityPacket(
client_packet_number++, false,
@@ -6312,7 +6387,7 @@
GetRequestHeaders("GET", "https", "/pushed.jpg"),
&server_header_offset, &server_maker_));
if (client_headers_include_h2_stream_dependency_ &&
- version_ >= quic::QUIC_VERSION_43) {
+ version_.transport_version >= quic::QUIC_VERSION_43) {
mock_quic_data.AddWrite(SYNCHRONOUS,
ConstructClientPriorityPacket(
client_packet_number++, false,
@@ -6388,7 +6463,7 @@
write_packet_index++, &offset));
std::string header = ConstructDataHeader(1);
- if (version_ != quic::QUIC_VERSION_99) {
+ if (version_.transport_version != quic::QUIC_VERSION_99) {
mock_quic_data.AddWrite(
SYNCHRONOUS,
ConstructClientRequestHeadersAndDataFramesPacket(
@@ -6570,7 +6645,7 @@
&server_header_offset, &server_maker_));
if (client_headers_include_h2_stream_dependency_ &&
- version_ >= quic::QUIC_VERSION_43) {
+ version_.transport_version >= quic::QUIC_VERSION_43) {
mock_quic_data.AddWrite(SYNCHRONOUS,
ConstructClientPriorityPacket(
client_packet_number++, false,
@@ -6724,7 +6799,7 @@
: version_(GetParam().version),
client_headers_include_h2_stream_dependency_(
GetParam().client_headers_include_h2_stream_dependency),
- supported_versions_(quic::test::SupportedTransportVersions(version_)),
+ supported_versions_(quic::test::SupportedVersions(version_)),
destination_type_(GetParam().destination_type),
cert_transparency_verifier_(new MultiLogCTVerifier()),
ssl_config_service_(new SSLConfigServiceDefaults),
@@ -6860,7 +6935,7 @@
quic::QuicStreamId stream_id,
QuicTestPacketMaker* maker) {
std::string header = "";
- if (version_ == quic::QUIC_VERSION_99) {
+ if (version_.transport_version == quic::QUIC_VERSION_99) {
quic::HttpEncoder encoder;
std::unique_ptr<char[]> buffer;
auto header_length = encoder.SerializeDataFrameHeader(5, &buffer);
@@ -6940,19 +7015,21 @@
EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
EXPECT_TRUE(response->was_fetched_via_spdy);
EXPECT_TRUE(response->was_alpn_negotiated);
- EXPECT_EQ(QuicHttpStream::ConnectionInfoFromQuicVersion(version_),
+ EXPECT_EQ(QuicHttpStream::ConnectionInfoFromQuicVersion(
+ version_.transport_version),
response->connection_info);
EXPECT_EQ(443, response->remote_endpoint.port());
}
quic::QuicStreamId GetNthClientInitiatedBidirectionalStreamId(int n) {
- return quic::test::GetNthClientInitiatedBidirectionalStreamId(version_, n);
+ return quic::test::GetNthClientInitiatedBidirectionalStreamId(
+ version_.transport_version, n);
}
quic::MockClock clock_;
- const quic::QuicTransportVersion version_;
+ const quic::ParsedQuicVersion version_;
const bool client_headers_include_h2_stream_dependency_;
- quic::QuicTransportVersionVector supported_versions_;
+ quic::ParsedQuicVersionVector supported_versions_;
DestinationType destination_type_;
std::string origin1_;
std::string origin2_;
@@ -7244,7 +7321,7 @@
GetRequestHeaders("GET", "https", "/pushed.jpg"),
&server_header_offset, &server_maker_));
if (client_headers_include_h2_stream_dependency_ &&
- version_ >= quic::QUIC_VERSION_43) {
+ version_.transport_version >= quic::QUIC_VERSION_43) {
mock_quic_data.AddWrite(SYNCHRONOUS,
ConstructClientPriorityPacket(
client_packet_number++, false,
@@ -7286,7 +7363,7 @@
quic::QUIC_STREAM_CANCELLED, 5, 5, 1));
const char kBody[] = "1";
std::string header3 = ConstructDataHeader(1);
- if (version_ != quic::QUIC_VERSION_99) {
+ if (version_.transport_version != quic::QUIC_VERSION_99) {
mock_quic_data.AddWrite(
SYNCHRONOUS,
ConstructClientRequestHeadersAndDataFramesPacket(
@@ -7435,7 +7512,7 @@
"Host: mail.example.org\r\n"
"Connection: keep-alive\r\n\r\n";
std::string header = ConstructDataHeader(strlen(get_request));
- if (version_ != quic::QUIC_VERSION_99) {
+ if (version_.transport_version != quic::QUIC_VERSION_99) {
mock_quic_data.AddWrite(
SYNCHRONOUS,
ConstructClientAckAndDataPacket(
@@ -7528,7 +7605,7 @@
spdy::SpdySerializedFrame get_frame =
spdy_util.ConstructSpdyGet("https://mail.example.org/", 1, LOWEST);
std::string header = ConstructDataHeader(get_frame.size());
- if (version_ != quic::QUIC_VERSION_99) {
+ if (version_.transport_version != quic::QUIC_VERSION_99) {
mock_quic_data.AddWrite(
SYNCHRONOUS,
ConstructClientAckAndDataPacket(
@@ -7633,7 +7710,7 @@
"Host: mail.example.org\r\n"
"Connection: keep-alive\r\n\r\n";
std::string header = ConstructDataHeader(strlen(get_request_1));
- if (version_ != quic::QUIC_VERSION_99) {
+ if (version_.transport_version != quic::QUIC_VERSION_99) {
mock_quic_data.AddWrite(
SYNCHRONOUS,
ConstructClientAckAndDataPacket(
@@ -7677,7 +7754,7 @@
"Host: mail.example.org\r\n"
"Connection: keep-alive\r\n\r\n";
std::string header4 = ConstructDataHeader(strlen(get_request_2));
- if (version_ == quic::QUIC_VERSION_99) {
+ if (version_.transport_version == quic::QUIC_VERSION_99) {
mock_quic_data.AddWrite(
SYNCHRONOUS,
ConstructClientMultipleDataFramesPacket(
@@ -7797,7 +7874,7 @@
"Host: mail.example.org\r\n"
"Connection: keep-alive\r\n\r\n";
std::string header = ConstructDataHeader(strlen(get_request));
- if (version_ != quic::QUIC_VERSION_99) {
+ if (version_.transport_version != quic::QUIC_VERSION_99) {
mock_quic_data.AddWrite(
SYNCHRONOUS,
ConstructClientAckAndDataPacket(
@@ -7845,7 +7922,7 @@
spdy::SpdySerializedFrame get_frame =
spdy_util.ConstructSpdyGet("https://different.example.org/", 1, LOWEST);
std::string header4 = ConstructDataHeader(get_frame.size());
- if (version_ != quic::QUIC_VERSION_99) {
+ if (version_.transport_version != quic::QUIC_VERSION_99) {
mock_quic_data.AddWrite(
SYNCHRONOUS,
ConstructClientAckAndDataPacket(
@@ -8070,7 +8147,7 @@
"Host: mail.example.org\r\n"
"Connection: keep-alive\r\n\r\n";
std::string header = ConstructDataHeader(strlen(get_request));
- if (version_ != quic::QUIC_VERSION_99) {
+ if (version_.transport_version != quic::QUIC_VERSION_99) {
mock_quic_data.AddWrite(
SYNCHRONOUS,
ConstructClientAckAndDataPacket(
@@ -8478,7 +8555,7 @@
TEST_P(QuicNetworkTransactionTest, QuicServerPushUpdatesPriority) {
// Only run this test if HTTP/2 stream dependency info is sent by client (sent
// in HEADERS frames for requests and PRIORITY frames).
- if (version_ < quic::QUIC_VERSION_43 ||
+ if (version_.transport_version < quic::QUIC_VERSION_43 ||
!client_headers_include_h2_stream_dependency_) {
return;
}