| Index: net/quic/quic_ack_notifier_manager.cc
 | 
| diff --git a/net/quic/quic_ack_notifier_manager.cc b/net/quic/quic_ack_notifier_manager.cc
 | 
| index 129a951e8940d6daa1d1c975a8582bbd92ccf1b0..0d37752e211ab130f4ffcb9243ecf486e8f9ec1d 100644
 | 
| --- a/net/quic/quic_ack_notifier_manager.cc
 | 
| +++ b/net/quic/quic_ack_notifier_manager.cc
 | 
| @@ -34,8 +34,8 @@ void AckNotifierManager::OnPacketAcked(QuicPacketSequenceNumber sequence_number,
 | 
|  
 | 
|    // One or more AckNotifiers are registered as interested in this sequence
 | 
|    // number. Iterate through them and call OnAck on each.
 | 
| -  AckNotifierSet& ack_notifier_set = map_it->second;
 | 
| -  for (QuicAckNotifier* ack_notifier : ack_notifier_set) {
 | 
| +  AckNotifierList& ack_notifier_list = map_it->second;
 | 
| +  for (QuicAckNotifier* ack_notifier : ack_notifier_list) {
 | 
|      ack_notifier->OnAck(sequence_number, delta_largest_observed);
 | 
|  
 | 
|      // If this has resulted in an empty AckNotifer, erase it.
 | 
| @@ -50,9 +50,10 @@ void AckNotifierManager::OnPacketAcked(QuicPacketSequenceNumber sequence_number,
 | 
|    ack_notifier_map_.erase(map_it);
 | 
|  }
 | 
|  
 | 
| -void AckNotifierManager::UpdateSequenceNumber(
 | 
| +void AckNotifierManager::OnPacketRetransmitted(
 | 
|      QuicPacketSequenceNumber old_sequence_number,
 | 
| -    QuicPacketSequenceNumber new_sequence_number) {
 | 
| +    QuicPacketSequenceNumber new_sequence_number,
 | 
| +    int packet_payload_size) {
 | 
|    auto map_it = ack_notifier_map_.find(old_sequence_number);
 | 
|    if (map_it == ack_notifier_map_.end()) {
 | 
|      // No AckNotifiers are interested in the old sequence number.
 | 
| @@ -60,15 +61,14 @@ void AckNotifierManager::UpdateSequenceNumber(
 | 
|    }
 | 
|  
 | 
|    // Update the existing QuicAckNotifiers to the new sequence number.
 | 
| -  AckNotifierSet& ack_notifier_set = map_it->second;
 | 
| -  for (QuicAckNotifier* ack_notifier : ack_notifier_set) {
 | 
| -    ack_notifier->UpdateSequenceNumber(old_sequence_number,
 | 
| -                                       new_sequence_number);
 | 
| +  AckNotifierList& ack_notifier_list = map_it->second;
 | 
| +  for (QuicAckNotifier* ack_notifier : ack_notifier_list) {
 | 
| +    ack_notifier->OnPacketRetransmitted(packet_payload_size);
 | 
|    }
 | 
|  
 | 
|    // The old sequence number is no longer of interest, copy the updated
 | 
|    // AckNotifiers to the new sequence number before deleting the old.
 | 
| -  ack_notifier_map_[new_sequence_number] = ack_notifier_set;
 | 
| +  ack_notifier_map_[new_sequence_number] = ack_notifier_list;
 | 
|    ack_notifier_map_.erase(map_it);
 | 
|  }
 | 
|  
 | 
| @@ -86,7 +86,7 @@ void AckNotifierManager::OnSerializedPacket(
 | 
|  
 | 
|        // Update the mapping in the other direction, from sequence number to
 | 
|        // AckNotifier.
 | 
| -      ack_notifier_map_[serialized_packet.sequence_number].insert(notifier);
 | 
| +      ack_notifier_map_[serialized_packet.sequence_number].push_back(notifier);
 | 
|  
 | 
|        // Take ownership of the AckNotifier.
 | 
|        ack_notifiers_.insert(notifier);
 | 
| @@ -112,7 +112,7 @@ void AckNotifierManager::OnSerializedPacket(
 | 
|  
 | 
|        // Update the mapping in the other direction, from sequence number to
 | 
|        // AckNotifier.
 | 
| -      ack_notifier_map_[serialized_packet.sequence_number].insert(notifier);
 | 
| +      ack_notifier_map_[serialized_packet.sequence_number].push_back(notifier);
 | 
|  
 | 
|        // Take ownership of the AckNotifier.
 | 
|        ack_notifiers_.insert(notifier);
 | 
| 
 |