namespace net {
namespace {
-
-// TCP retransmits after 3 nacks.
-static const size_t kNumberOfNacksBeforeRetransmission = 3;
-
// How many RTTs the algorithm waits before determining a packet is lost due
// to early retransmission.
static const double kEarlyRetransmitLossDelayMultiplier = 1.25;
-
}
TCPLossAlgorithm::TCPLossAlgorithm()
SequenceNumberSet lost_packets;
loss_detection_timeout_ = QuicTime::Zero();
QuicTime::Delta loss_delay =
- rtt_stats.SmoothedRtt().Multiply(kEarlyRetransmitLossDelayMultiplier);
+ rtt_stats.smoothed_rtt().Multiply(kEarlyRetransmitLossDelayMultiplier);
QuicPacketSequenceNumber sequence_number = unacked_packets.GetLeastUnacked();
for (QuicUnackedPacketMap::const_iterator it = unacked_packets.begin();
it != unacked_packets.end() && sequence_number <= largest_observed;
}
LOG_IF(DFATAL, it->nack_count == 0)
- << "All packets less than largest observed should have been nacked.";
+ << "All packets less than largest observed should have been nacked."
+ << "sequence_number:" << sequence_number
+ << " largest_observed:" << largest_observed;
if (it->nack_count >= kNumberOfNacksBeforeRetransmission) {
lost_packets.insert(sequence_number);
continue;