| 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 b31899b8a57587c1ebe6d27623d9d1a7e3785087..a9f26b88d74debc77ece3e5a75d5cd3ea8534626 100644
|
| --- a/net/quic/quic_sent_packet_manager.cc
|
| +++ b/net/quic/quic_sent_packet_manager.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "base/logging.h"
|
| #include "base/stl_util.h"
|
| +#include "net/quic/quic_ack_notifier_manager.h"
|
|
|
| using std::make_pair;
|
|
|
| @@ -58,6 +59,8 @@ void QuicSentPacketManager::OnSerializedPacket(
|
| return;
|
| }
|
|
|
| + ack_notifier_manager_.OnSerializedPacket(serialized_packet);
|
| +
|
| DCHECK(unacked_packets_.empty() ||
|
| unacked_packets_.rbegin()->first <
|
| serialized_packet.sequence_number);
|
| @@ -88,6 +91,12 @@ void QuicSentPacketManager::OnRetransmittedPacket(
|
|
|
| RetransmittableFrames* frames = unacked_packets_[old_sequence_number];
|
| DCHECK(frames);
|
| +
|
| + // A notifier may be waiting to hear about ACKs for the original sequence
|
| + // number. Inform them that the sequence number has changed.
|
| + ack_notifier_manager_.UpdateSequenceNumber(old_sequence_number,
|
| + new_sequence_number);
|
| +
|
| if (FLAGS_track_retransmission_history) {
|
| // We keep the old packet in the unacked packet list until it, or one of
|
| // the retransmissions of it are acked.
|
| @@ -126,6 +135,11 @@ void QuicSentPacketManager::OnIncomingAck(
|
| SequenceNumberSet* acked_packets) {
|
| HandleAckForSentPackets(received_info, is_truncated_ack, acked_packets);
|
| HandleAckForSentFecPackets(received_info, acked_packets);
|
| +
|
| + if (acked_packets->size() > 0) {
|
| + // The AckNotifierManager should be informed of every ACKed sequence number.
|
| + ack_notifier_manager_.OnIncomingAck(*acked_packets);
|
| + }
|
| }
|
|
|
| void QuicSentPacketManager::DiscardUnackedPacket(
|
|
|