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

Unified Diff: net/quic/quic_ack_notifier.cc

Issue 885443002: Roll Chrome into Mojo. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Rebase to ToT mojo Created 5 years, 11 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
« no previous file with comments | « net/quic/quic_ack_notifier.h ('k') | net/quic/quic_ack_notifier_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_ack_notifier.cc
diff --git a/net/quic/quic_ack_notifier.cc b/net/quic/quic_ack_notifier.cc
index 178098591fbcba268584b71e02afc20e97c51b09..b399a61bcc173541f22d65d49fe653caa6baa023 100644
--- a/net/quic/quic_ack_notifier.cc
+++ b/net/quic/quic_ack_notifier.cc
@@ -14,19 +14,13 @@ using std::make_pair;
namespace net {
-QuicAckNotifier::PacketInfo::PacketInfo() : packet_payload_size(0) {
-}
-
-QuicAckNotifier::PacketInfo::PacketInfo(int payload_size)
- : packet_payload_size(payload_size) {
-}
-
QuicAckNotifier::DelegateInterface::DelegateInterface() {}
QuicAckNotifier::DelegateInterface::~DelegateInterface() {}
QuicAckNotifier::QuicAckNotifier(DelegateInterface* delegate)
: delegate_(delegate),
+ unacked_packets_(0),
retransmitted_packet_count_(0),
retransmitted_byte_count_(0) {
DCHECK(delegate);
@@ -38,16 +32,17 @@ QuicAckNotifier::~QuicAckNotifier() {
void QuicAckNotifier::AddSequenceNumber(
const QuicPacketSequenceNumber& sequence_number,
int packet_payload_size) {
- sequence_numbers_.insert(make_pair(sequence_number,
- PacketInfo(packet_payload_size)));
-
+ ++unacked_packets_;
DVLOG(1) << "AckNotifier waiting for packet: " << sequence_number;
}
bool QuicAckNotifier::OnAck(QuicPacketSequenceNumber sequence_number,
QuicTime::Delta delta_largest_observed) {
- DCHECK(ContainsKey(sequence_numbers_, sequence_number));
- sequence_numbers_.erase(sequence_number);
+ if (unacked_packets_ <= 0) {
+ LOG(DFATAL) << "Acked more packets than were tracked.";
+ return true;
+ }
+ --unacked_packets_;
if (IsEmpty()) {
// We have seen all the sequence numbers we were waiting for, trigger
// callback notification.
@@ -59,26 +54,9 @@ bool QuicAckNotifier::OnAck(QuicPacketSequenceNumber sequence_number,
return false;
}
-void QuicAckNotifier::UpdateSequenceNumber(
- QuicPacketSequenceNumber old_sequence_number,
- QuicPacketSequenceNumber new_sequence_number) {
- DCHECK(!ContainsKey(sequence_numbers_, new_sequence_number));
-
- PacketInfo packet_info;
- auto it = sequence_numbers_.find(old_sequence_number);
- if (it != sequence_numbers_.end()) {
- packet_info = it->second;
- sequence_numbers_.erase(it);
- } else {
- DLOG(DFATAL) << "Old sequence number not found.";
- }
-
+void QuicAckNotifier::OnPacketRetransmitted(int packet_payload_size) {
++retransmitted_packet_count_;
- retransmitted_byte_count_ += packet_info.packet_payload_size;
- sequence_numbers_.insert(make_pair(new_sequence_number, packet_info));
-
- DVLOG(1) << "AckNotifier waiting for packet: " << new_sequence_number
- << " (retransmitted " << old_sequence_number << ").";
+ retransmitted_byte_count_ += packet_payload_size;
}
}; // namespace net
« no previous file with comments | « net/quic/quic_ack_notifier.h ('k') | net/quic/quic_ack_notifier_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698