| 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 cea2b696f4d3a508dfd6702856ff3a44a179da96..2ebbd977f140f91c98e1e1a5d50bec9c0131943e 100644
|
| --- a/net/quic/quic_received_packet_manager.cc
|
| +++ b/net/quic/quic_received_packet_manager.cc
|
| @@ -182,17 +182,15 @@ void QuicReceivedPacketManager::RecalculateEntropyHash(
|
| }
|
|
|
| void QuicReceivedPacketManager::UpdatePacketInformationReceivedByPeer(
|
| - const QuicAckFrame& incoming_ack) {
|
| + const ReceivedPacketInfo& received_info) {
|
| // ValidateAck should fail if largest_observed ever shrinks.
|
| - DCHECK_LE(peer_largest_observed_packet_,
|
| - incoming_ack.received_info.largest_observed);
|
| - peer_largest_observed_packet_ = incoming_ack.received_info.largest_observed;
|
| + DCHECK_LE(peer_largest_observed_packet_, received_info.largest_observed);
|
| + peer_largest_observed_packet_ = received_info.largest_observed;
|
|
|
| - if (incoming_ack.received_info.missing_packets.empty()) {
|
| + if (received_info.missing_packets.empty()) {
|
| least_packet_awaited_by_peer_ = peer_largest_observed_packet_ + 1;
|
| } else {
|
| - least_packet_awaited_by_peer_ =
|
| - *(incoming_ack.received_info.missing_packets.begin());
|
| + least_packet_awaited_by_peer_ = *(received_info.missing_packets.begin());
|
| }
|
| }
|
|
|
| @@ -209,22 +207,19 @@ bool QuicReceivedPacketManager::DontWaitForPacketsBefore(
|
| }
|
|
|
| void QuicReceivedPacketManager::UpdatePacketInformationSentByPeer(
|
| - const QuicAckFrame& incoming_ack) {
|
| + const SentPacketInfo& sent_info) {
|
| // ValidateAck() should fail if peer_least_packet_awaiting_ack_ shrinks.
|
| - DCHECK_LE(peer_least_packet_awaiting_ack_,
|
| - incoming_ack.sent_info.least_unacked);
|
| - if (incoming_ack.sent_info.least_unacked > peer_least_packet_awaiting_ack_) {
|
| - bool missed_packets =
|
| - DontWaitForPacketsBefore(incoming_ack.sent_info.least_unacked);
|
| - if (missed_packets || incoming_ack.sent_info.least_unacked >
|
| + DCHECK_LE(peer_least_packet_awaiting_ack_, sent_info.least_unacked);
|
| + if (sent_info.least_unacked > peer_least_packet_awaiting_ack_) {
|
| + bool missed_packets = DontWaitForPacketsBefore(sent_info.least_unacked);
|
| + if (missed_packets || sent_info.least_unacked >
|
| received_info_.largest_observed + 1) {
|
| DVLOG(1) << "Updating entropy hashed since we missed packets";
|
| // There were some missing packets that we won't ever get now. Recalculate
|
| // the received entropy hash.
|
| - RecalculateEntropyHash(incoming_ack.sent_info.least_unacked,
|
| - incoming_ack.sent_info.entropy_hash);
|
| + RecalculateEntropyHash(sent_info.least_unacked, sent_info.entropy_hash);
|
| }
|
| - peer_least_packet_awaiting_ack_ = incoming_ack.sent_info.least_unacked;
|
| + peer_least_packet_awaiting_ack_ = sent_info.least_unacked;
|
| }
|
| DCHECK(received_info_.missing_packets.empty() ||
|
| *received_info_.missing_packets.begin() >=
|
|
|