Index: net/quic/quic_sent_packet_manager.cc |
diff --git a/net/quic/quic_sent_packet_manager.cc b/net/quic/quic_sent_packet_manager.cc |
index 5feb46774bbf2540c24d42873ba75edc7c6ccfbd..f1804f97ea093a36fe875795b2a7945cf9b62d66 100644 |
--- a/net/quic/quic_sent_packet_manager.cc |
+++ b/net/quic/quic_sent_packet_manager.cc |
@@ -117,6 +117,10 @@ void QuicSentPacketManager::SetFromConfig(const QuicConfig& config) { |
min(kMaxInitialRoundTripTimeUs, |
config.GetInitialRoundTripTimeUsToSend()))); |
} |
+ // Initial RTT may have changed. |
+ if (network_change_visitor_ != nullptr) { |
+ network_change_visitor_->OnRttChange(); |
+ } |
// TODO(ianswett): BBR is currently a server only feature. |
if (FLAGS_quic_allow_bbr && |
config.HasReceivedConnectionOptions() && |
@@ -414,7 +418,9 @@ bool QuicSentPacketManager::HasPendingRetransmissions() const { |
QuicSentPacketManager::PendingRetransmission |
QuicSentPacketManager::NextPendingRetransmission() { |
- DCHECK(!pending_retransmissions_.empty()); |
+ LOG_IF(DFATAL, pending_retransmissions_.empty()) |
+ << "Unexpected call to PendingRetransmissions() with empty pending " |
+ << "retransmission list. Corrupted memory usage imminent."; |
QuicPacketSequenceNumber sequence_number = |
pending_retransmissions_.begin()->first; |
TransmissionType transmission_type = pending_retransmissions_.begin()->second; |
@@ -775,6 +781,11 @@ bool QuicSentPacketManager::MaybeUpdateRTT( |
ack_receive_time.Subtract(transmission_info.sent_time); |
rtt_stats_.UpdateRtt( |
send_delta, ack_frame.delta_time_largest_observed, ack_receive_time); |
+ |
+ if (network_change_visitor_ != nullptr) { |
+ network_change_visitor_->OnRttChange(); |
+ } |
+ |
return true; |
} |