Index: net/quic/core/quic_multipath_sent_packet_manager.cc |
diff --git a/net/quic/core/quic_multipath_sent_packet_manager.cc b/net/quic/core/quic_multipath_sent_packet_manager.cc |
index a3f9320f4f8c9c0bb081b8e382ceef460ad2b9b2..0800a6ae4c82f92aeff71919d8ed64a9387dbd58 100644 |
--- a/net/quic/core/quic_multipath_sent_packet_manager.cc |
+++ b/net/quic/core/quic_multipath_sent_packet_manager.cc |
@@ -316,6 +316,23 @@ QuicPacketCount QuicMultipathSentPacketManager::GetSlowStartThresholdInTcpMss() |
return path_manager->GetSlowStartThresholdInTcpMss(); |
} |
+string QuicMultipathSentPacketManager::GetDebugState() const { |
+ string debug_state_by_path; |
+ for (size_t i = 0; i < path_managers_info_.size(); ++i) { |
+ if (path_managers_info_[i].manager == nullptr || |
+ path_managers_info_[i].state != ACTIVE) { |
+ continue; |
+ } |
+ const string& debug_state = path_managers_info_[i].manager->GetDebugState(); |
+ if (debug_state.empty()) { |
+ continue; |
+ } |
+ debug_state_by_path = |
+ debug_state_by_path + "[" + base::IntToString(i) + "]:" + debug_state; |
+ } |
+ return debug_state_by_path; |
+} |
+ |
void QuicMultipathSentPacketManager::CancelRetransmissionsForStream( |
QuicStreamId stream_id) { |
for (PathSentPacketManagerInfo path_manager_info : path_managers_info_) { |
@@ -500,4 +517,14 @@ void QuicMultipathSentPacketManager::OnUnrecoverablePathError( |
ConnectionCloseSource::FROM_SELF); |
} |
+void QuicMultipathSentPacketManager::OnApplicationLimited() { |
+ for (PathSentPacketManagerInfo& path_manager_info : path_managers_info_) { |
+ if (path_manager_info.manager == nullptr || |
+ path_manager_info.state != ACTIVE) { |
+ continue; |
+ } |
+ path_manager_info.manager->OnApplicationLimited(); |
+ } |
+} |
+ |
} // namespace net |