Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2200)

Unified Diff: net/quic/quic_received_packet_manager.cc

Issue 1330973002: relnote: Refactor QuicAckFrame::missing_packets to support a change to a (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Tidy_up_DLOG_messages_101773586
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/quic/quic_received_packet_manager.cc
diff --git a/net/quic/quic_received_packet_manager.cc b/net/quic/quic_received_packet_manager.cc
index b3f9e38590b2fc5dcce3cbe26ae0a33902d0b6c9..702573e091264b689231e3baa6acc9049f3e0e88 100644
--- a/net/quic/quic_received_packet_manager.cc
+++ b/net/quic/quic_received_packet_manager.cc
@@ -148,15 +148,17 @@ void QuicReceivedPacketManager::RecordPacketReceived(
QuicPacketNumber packet_number = header.packet_packet_number;
DCHECK(IsAwaitingPacket(packet_number));
- InsertMissingPacketsBetween(&ack_frame_, max(ack_frame_.largest_observed + 1,
- peer_least_packet_awaiting_ack_),
- packet_number);
+ // Adds the range of packet numbers from max(largest observed + 1, least
+ // awaiting ack) up to packet_number not including packet_number.
+ ack_frame_.missing_packets.Add(
+ max(ack_frame_.largest_observed + 1, peer_least_packet_awaiting_ack_),
+ packet_number);
if (ack_frame_.largest_observed > packet_number) {
// We've gotten one of the out of order packets - remove it from our
// "missing packets" list.
DVLOG(1) << "Removing " << packet_number << " from missing list";
- ack_frame_.missing_packets.erase(packet_number);
+ ack_frame_.missing_packets.Remove(packet_number);
// Record how out of order stats.
++stats_->packets_reordered;
@@ -186,7 +188,7 @@ void QuicReceivedPacketManager::RecordPacketRevived(
}
bool QuicReceivedPacketManager::IsMissing(QuicPacketNumber packet_number) {
- return ContainsKey(ack_frame_.missing_packets, packet_number);
+ return ack_frame_.missing_packets.Contains(packet_number);
}
bool QuicReceivedPacketManager::IsAwaitingPacket(
@@ -241,11 +243,7 @@ bool QuicReceivedPacketManager::DontWaitForPacketsBefore(
ack_frame_.revived_packets.erase(
ack_frame_.revived_packets.begin(),
ack_frame_.revived_packets.lower_bound(least_unacked));
- size_t missing_packets_count = ack_frame_.missing_packets.size();
- ack_frame_.missing_packets.erase(
- ack_frame_.missing_packets.begin(),
- ack_frame_.missing_packets.lower_bound(least_unacked));
- return missing_packets_count != ack_frame_.missing_packets.size();
+ return ack_frame_.missing_packets.RemoveUpTo(least_unacked);
}
void QuicReceivedPacketManager::UpdatePacketInformationSentByPeer(
@@ -263,15 +261,14 @@ void QuicReceivedPacketManager::UpdatePacketInformationSentByPeer(
}
peer_least_packet_awaiting_ack_ = stop_waiting.least_unacked;
}
- DCHECK(ack_frame_.missing_packets.empty() ||
- *ack_frame_.missing_packets.begin() >=
- peer_least_packet_awaiting_ack_);
+ DCHECK(ack_frame_.missing_packets.Empty() ||
+ ack_frame_.missing_packets.Min() >= peer_least_packet_awaiting_ack_);
}
bool QuicReceivedPacketManager::HasNewMissingPackets() const {
- return !ack_frame_.missing_packets.empty() &&
- (ack_frame_.largest_observed -
- *ack_frame_.missing_packets.rbegin()) <= kMaxPacketsAfterNewMissing;
+ return !ack_frame_.missing_packets.Empty() &&
+ (ack_frame_.largest_observed - ack_frame_.missing_packets.Max()) <=
+ kMaxPacketsAfterNewMissing;
}
size_t QuicReceivedPacketManager::NumTrackedPackets() const {

Powered by Google App Engine
This is Rietveld 408576698