Roll src/net/third_party/quiche/src/ 02c69dd28..11e17fea1 (38 commits)
https://quiche.googlesource.com/quiche.git/+log/02c69dd28eef..11e17fea103d $ git log 02c69dd28..11e17fea1 --date=short --no-merges --format='%ad %ae %s' 2023-05-12 quiche-dev Remove use of std::function from CreateContextForMultiPortPath() 2023-05-11 dschinazi Fix warning in EncryptionLevelToProto 2023-05-11 diannahu Tweak BalsaHeadersSequence to prepare for JetstreamSession integration. 2023-05-11 vasilvv Extend WebTransport error code space to 32-bit. 2023-05-10 fayang Let QUIC framer always infer packet header type from framer's version. 2023-05-09 asedeno masque_server_session: factor out event handlers for connect-udp and connect-ip 2023-05-08 asedeno masque_*_bin: create quiche event loop after commandline parsing 2023-05-08 asedeno masque_sever_session: unnest different MASQUE implementations 2023-05-08 asedeno masque_*_bin: use actual logging, not std::cerr 2023-05-08 asedeno Implement QUICHE default platform logging using Abseil Logging 2023-05-08 quiche-dev Fix compilation on Chrome OS 2023-05-08 asedeno masque_utils: open tun_fd with O_NONBLOCK 2023-05-05 diannahu Support multiple interim responses in SimpleClient. 2023-05-05 vasilvv Fix open source QUICHE build 2023-05-05 vasilvv Support enough of Windows to make EndToEndTest.SimpleRequestResponse pass. 2023-05-05 elburrito Force the Public Metadata fingerprint value to be passed as big-endian. 2023-05-05 bnc Add quiche::HttpValidationPolicy::validate_transfer_encoding. 2023-05-04 martinduke Record sent ECN marks correctly for coalesced and buffered packets. 2023-05-04 quiche-dev Deprecate unused field `AT_PUBLIC_METADATA_VERIFIED_KEY_TYPE`. 2023-05-03 diannahu Avoid interim response handling for 101 Switching Protocols responses in BalsaFrame. 2023-05-03 diannahu Add a class to represent a sequence of BalsaHeaders. 2023-05-03 quiche-dev Include debug_mode in the Public Metadata fingerprint. 2023-05-03 quiche-dev Add support for CreateContextForMultiPortPath running async. 2023-05-03 bnc Do not evict unacknowledged QPACK entries. 2023-05-01 quiche-dev Use simple regex in quic_connection_test.cc 2023-05-01 haoyuewang Clean up count_reverse_path_validation_stats. 2023-04-27 quiche-dev Add ability to set a non-zero send alarm delay for QUIC connection. 2023-04-27 bnc Add comment to QPACK encoder. 2023-04-27 vasilvv More build fixes for QUICHE on Windows. 2023-04-26 vasilvv Add a Windows implementation of socket.h 2023-04-26 vasilvv Basic fixes to make QUICHE build on Windows. 2023-04-25 haoyuewang Deprecate --gfe2_reloadable_flag_quic_remove_connection_migration_connection_option_v2 2023-04-25 bnc Remove extra warnings from internal QUICHE platform implementation. 2023-04-24 renjietang Add stats on QuicConnection path degrading and recovering. 2023-04-24 wub Deprecate --gfe2_reloadable_flag_quic_dont_close_connection_in_tls_alert_callback. 2023-04-22 quiche-dev When a region override is in effect, enable debug mode. Otherwise, Beryllium will reject it when it does the country mismatch check. 2023-04-21 danzh Deprecate --gfe2_reloadable_flag_quic_verify_request_headers_2 2023-04-20 martinduke Validate incoming ECN feedback. Created with: roll-dep src/net/third_party/quiche/src src/third_party/quic_trace/src Other changes: * Fix BUILD.gn and num_path_degrading references * Rename histogram Net.QuicMultiPort.NumDefaultPathDegrading to Net.QuicSession.NumDefaultPathDegrading and always log it. * Accommodate change to signature of CreateContextForMultiPortPath() Change-Id: I9bd5e07aae0df4a81be4d14dda882ed5712419ec Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4520190 Reviewed-by: Adam Rice <ricea@chromium.org> Commit-Queue: Nidhi Jaju <nidhijaju@chromium.org> Cr-Commit-Position: refs/heads/main@{#1144571}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
fccd1b5765
commit
4da27019e3
2
DEPS
2
DEPS
@ -431,7 +431,7 @@ vars = {
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling feed
|
||||
# and whatever else without interference from each other.
|
||||
'quiche_revision': '02c69dd28eef7ef2618782e8d54d53c14ae64382',
|
||||
'quiche_revision': '11e17fea103dab9d7eb8a021038ec619a88c7296',
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling ios_webkit
|
||||
# and whatever else without interference from each other.
|
||||
|
@ -1830,11 +1830,10 @@ void QuicChromiumClientSession::OnConnectionClosed(
|
||||
|
||||
logger_->OnConnectionClosed(frame, source);
|
||||
|
||||
const quic::QuicConnection::MultiPortStats* multi_port_stats =
|
||||
connection()->multi_port_stats();
|
||||
if (multi_port_stats != nullptr) {
|
||||
UMA_HISTOGRAM_COUNTS_1000("Net.QuicMultiPort.NumDefaultPathDegrading",
|
||||
multi_port_stats->num_path_degrading);
|
||||
UMA_HISTOGRAM_COUNTS_1000("Net.QuicSession.NumDefaultPathDegrading",
|
||||
connection()->GetStats().num_path_degrading);
|
||||
if (const quic::QuicConnection::MultiPortStats* multi_port_stats =
|
||||
connection()->multi_port_stats()) {
|
||||
UMA_HISTOGRAM_COUNTS_1000(
|
||||
"Net.QuicMultiPort.NumMultiPortFailureWhenPathNotDegrading",
|
||||
multi_port_stats
|
||||
@ -1845,7 +1844,7 @@ void QuicChromiumClientSession::OnConnectionClosed(
|
||||
multi_port_stats->num_multi_port_probe_failures_when_path_degrading;
|
||||
uint64_t srtt_ms =
|
||||
multi_port_stats->rtt_stats.smoothed_rtt().ToMilliseconds();
|
||||
if (multi_port_stats->num_path_degrading > 0 &&
|
||||
if (connection()->GetStats().num_path_degrading > 0 &&
|
||||
total_multi_port_probe_failures > 0 && srtt_ms > 0) {
|
||||
base::UmaHistogramSparse(
|
||||
"Net.QuicMultiPort.AltPortRttWhenPathDegradingVsGeneral",
|
||||
@ -3079,10 +3078,10 @@ void QuicChromiumClientSession::MaybeStartProbing(
|
||||
StartProbing(std::move(probing_callback), network, peer_address);
|
||||
}
|
||||
|
||||
std::unique_ptr<quic::QuicPathValidationContext>
|
||||
QuicChromiumClientSession::CreateContextForMultiPortPath() {
|
||||
void QuicChromiumClientSession::CreateContextForMultiPortPath(
|
||||
std::unique_ptr<quic::MultiPortPathContextObserver> context_observer) {
|
||||
if (!connection()->connection_migration_use_new_cid()) {
|
||||
return nullptr;
|
||||
return;
|
||||
}
|
||||
|
||||
// Create and configure socket on default network
|
||||
@ -3091,7 +3090,7 @@ QuicChromiumClientSession::CreateContextForMultiPortPath() {
|
||||
if (stream_factory_->ConfigureSocket(
|
||||
probing_socket.get(), ToIPEndPoint(peer_address()), default_network_,
|
||||
session_key_.socket_tag()) != OK) {
|
||||
return nullptr;
|
||||
return;
|
||||
}
|
||||
|
||||
// Create new packet writer and reader on the probing socket.
|
||||
@ -3107,10 +3106,11 @@ QuicChromiumClientSession::CreateContextForMultiPortPath() {
|
||||
probing_writer->set_delegate(&path_validation_writer_delegate_);
|
||||
IPEndPoint local_address;
|
||||
probing_socket->GetLocalAddress(&local_address);
|
||||
return std::make_unique<QuicChromiumPathValidationContext>(
|
||||
ToQuicSocketAddress(local_address), peer_address(), default_network_,
|
||||
std::move(probing_socket), std::move(probing_writer),
|
||||
std::move(probing_reader));
|
||||
context_observer->OnMultiPortPathContextAvailable(
|
||||
std::make_unique<QuicChromiumPathValidationContext>(
|
||||
ToQuicSocketAddress(local_address), peer_address(), default_network_,
|
||||
std::move(probing_socket), std::move(probing_writer),
|
||||
std::move(probing_reader)));
|
||||
}
|
||||
|
||||
void QuicChromiumClientSession::MigrateToMultiPortPath(
|
||||
|
@ -749,8 +749,9 @@ class NET_EXPORT_PRIVATE QuicChromiumClientSession
|
||||
void OnPathDegrading() override;
|
||||
void OnForwardProgressMadeAfterPathDegrading() override;
|
||||
void OnKeyUpdate(quic::KeyUpdateReason reason) override;
|
||||
std::unique_ptr<quic::QuicPathValidationContext>
|
||||
CreateContextForMultiPortPath() override;
|
||||
void CreateContextForMultiPortPath(
|
||||
std::unique_ptr<quic::MultiPortPathContextObserver> context_observer)
|
||||
override;
|
||||
void MigrateToMultiPortPath(
|
||||
std::unique_ptr<quic::QuicPathValidationContext> context) override;
|
||||
|
||||
|
9
net/third_party/quiche/BUILD.gn
vendored
9
net/third_party/quiche/BUILD.gn
vendored
@ -791,16 +791,21 @@ if (build_epoll_based_tools) {
|
||||
"src/quiche/quic/core/io/quic_default_event_loop.h",
|
||||
"src/quiche/quic/core/io/quic_poll_event_loop.cc",
|
||||
"src/quiche/quic/core/io/quic_poll_event_loop.h",
|
||||
"src/quiche/quic/core/io/socket.cc",
|
||||
"src/quiche/quic/core/io/socket.h",
|
||||
"src/quiche/quic/core/io/socket_posix.cc",
|
||||
"src/quiche/quic/core/io/socket_internal.h",
|
||||
"src/quiche/quic/core/io/socket_posix.inc",
|
||||
"src/quiche/quic/core/io/socket_win.inc",
|
||||
"src/quiche/quic/core/quic_default_clock.cc",
|
||||
"src/quiche/quic/core/quic_default_clock.h",
|
||||
"src/quiche/quic/core/quic_default_packet_writer.cc",
|
||||
"src/quiche/quic/core/quic_default_packet_writer.h",
|
||||
"src/quiche/quic/core/quic_packet_reader.cc",
|
||||
"src/quiche/quic/core/quic_packet_reader.h",
|
||||
"src/quiche/quic/core/quic_udp_socket.cc",
|
||||
"src/quiche/quic/core/quic_udp_socket.h",
|
||||
"src/quiche/quic/core/quic_udp_socket_posix.cc",
|
||||
"src/quiche/quic/core/quic_udp_socket_posix.inc",
|
||||
"src/quiche/quic/core/quic_udp_socket_win.inc",
|
||||
"src/quiche/quic/masque/masque_client.cc",
|
||||
"src/quiche/quic/masque/masque_client.h",
|
||||
"src/quiche/quic/masque/masque_client_session.cc",
|
||||
|
@ -2608,6 +2608,10 @@ chromium-metrics-reviews@google.com.
|
||||
|
||||
<histogram name="Net.QuicMultiPort.NumDefaultPathDegrading" units="times"
|
||||
expires_after="2023-10-22">
|
||||
<obsolete>
|
||||
Replaced by Net.QuicSession.NumDefaultPathDegrading in May 2023, as
|
||||
num_path_degrading is no longer specific to the multi-port feature.
|
||||
</obsolete>
|
||||
<owner>renjietang@chromium.org</owner>
|
||||
<owner>src/net/quic/OWNERS</owner>
|
||||
<summary>
|
||||
@ -3630,6 +3634,16 @@ chromium-metrics-reviews@google.com.
|
||||
</summary>
|
||||
</histogram>
|
||||
|
||||
<histogram name="Net.QuicSession.NumDefaultPathDegrading" units="times"
|
||||
expires_after="2023-10-22">
|
||||
<owner>renjietang@chromium.org</owner>
|
||||
<owner>src/net/quic/OWNERS</owner>
|
||||
<summary>
|
||||
The number of time that a session which has multi-port enabled enters
|
||||
path-degrading state on the default path.
|
||||
</summary>
|
||||
</histogram>
|
||||
|
||||
<histogram name="Net.QuicSession.NumMigrations" units="units"
|
||||
expires_after="2023-09-17">
|
||||
<owner>renjietang@chromium.org</owner>
|
||||
|
Reference in New Issue
Block a user