gfe-relnote: Let GFE be able to use FIFO write scheduler in QUIC and enable it via a connection option FIFO. Protected by gfe2_reloadable_flag_quic_use_fifo_write_scheduler.
PiperOrigin-RevId: 261676376
Change-Id: I74a4d92ad6d612c565eaa1e38186738988d02fe5
diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc
index c61c347..2e79f78 100644
--- a/quic/core/http/end_to_end_test.cc
+++ b/quic/core/http/end_to_end_test.cc
@@ -85,11 +85,13 @@
TestParams(const ParsedQuicVersionVector& client_supported_versions,
const ParsedQuicVersionVector& server_supported_versions,
ParsedQuicVersion negotiated_version,
- QuicTag congestion_control_tag)
+ QuicTag congestion_control_tag,
+ QuicTag priority_tag)
: client_supported_versions(client_supported_versions),
server_supported_versions(server_supported_versions),
negotiated_version(negotiated_version),
- congestion_control_tag(congestion_control_tag) {}
+ congestion_control_tag(congestion_control_tag),
+ priority_tag(priority_tag) {}
friend std::ostream& operator<<(std::ostream& os, const TestParams& p) {
os << "{ server_supported_versions: "
@@ -99,7 +101,8 @@
os << " negotiated_version: "
<< ParsedQuicVersionToString(p.negotiated_version);
os << " congestion_control_tag: "
- << QuicTagToString(p.congestion_control_tag) << " }";
+ << QuicTagToString(p.congestion_control_tag);
+ os << " priority_tag: " << QuicTagToString(p.priority_tag) << " }";
return os;
}
@@ -107,6 +110,7 @@
ParsedQuicVersionVector server_supported_versions;
ParsedQuicVersion negotiated_version;
QuicTag congestion_control_tag;
+ QuicTag priority_tag;
};
// Constructs various test permutations.
@@ -153,28 +157,32 @@
if (FilterSupportedVersions(client_versions).empty()) {
continue;
}
- // Add an entry for server and client supporting all versions.
- params.push_back(TestParams(client_versions, all_supported_versions,
- client_versions.front(),
- congestion_control_tag));
+ for (const QuicTag priority_tag :
+ {/*no tag*/ static_cast<QuicTag>(0), kH2PR, kFIFO}) {
+ // Add an entry for server and client supporting all versions.
+ params.push_back(TestParams(client_versions, all_supported_versions,
+ client_versions.front(),
+ congestion_control_tag, priority_tag));
- // Test client supporting all versions and server supporting
- // 1 version. Simulate an old server and exercise version
- // downgrade in the client. Protocol negotiation should
- // occur. Skip the i = 0 case because it is essentially the
- // same as the default case.
- for (size_t i = 1; i < client_versions.size(); ++i) {
- ParsedQuicVersionVector server_supported_versions;
- server_supported_versions.push_back(client_versions[i]);
- if (FilterSupportedVersions(server_supported_versions).empty()) {
- continue;
- }
- params.push_back(TestParams(client_versions, server_supported_versions,
- server_supported_versions.front(),
- congestion_control_tag));
- } // End of inner version loop.
- } // End of outer version loop.
- } // End of congestion_control_tag loop.
+ // Test client supporting all versions and server supporting
+ // 1 version. Simulate an old server and exercise version
+ // downgrade in the client. Protocol negotiation should
+ // occur. Skip the i = 0 case because it is essentially the
+ // same as the default case.
+ for (size_t i = 1; i < client_versions.size(); ++i) {
+ ParsedQuicVersionVector server_supported_versions;
+ server_supported_versions.push_back(client_versions[i]);
+ if (FilterSupportedVersions(server_supported_versions).empty()) {
+ continue;
+ }
+ params.push_back(TestParams(client_versions,
+ server_supported_versions,
+ server_supported_versions.front(),
+ congestion_control_tag, priority_tag));
+ } // End of inner version loop.
+ } // End of priority_tag loop.
+ } // End of outer version loop.
+ } // End of congestion_control_tag loop.
return params;
}
@@ -343,9 +351,7 @@
GetQuicReloadableFlag(quic_enable_pcc3)) {
copt.push_back(kTPCC);
}
- // TODO(fayang): Move this to GetTestParams when other priority connection
- // opts are supported.
- copt.push_back(kH2PR);
+ copt.push_back(GetParam().priority_tag);
client_config_.SetConnectionOptionsToSend(copt);