#include "quiche/quic/core/congestion_control/general_loss_algorithm.h"
#include <algorithm>
#include "quiche/quic/core/congestion_control/rtt_stats.h"
#include "quiche/quic/core/quic_packets.h"
#include "quiche/quic/platform/api/quic_bug_tracker.h"
#include "quiche/quic/platform/api/quic_flag_utils.h"
#include "quiche/quic/platform/api/quic_flags.h"
namespace quic {
namespace {
float DetectionResponseTime(QuicTime::Delta rtt, QuicTime send_time,
QuicTime detection_time) { … }
QuicTime::Delta GetMaxRtt(const RttStats& rtt_stats) { … }
}
LossDetectionInterface::DetectionStats GeneralLossAlgorithm::DetectLosses(
const QuicUnackedPacketMap& unacked_packets, QuicTime time,
const RttStats& rtt_stats, QuicPacketNumber largest_newly_acked,
const AckedPacketVector& packets_acked, LostPacketVector* packets_lost) { … }
QuicTime GeneralLossAlgorithm::GetLossTimeout() const { … }
void GeneralLossAlgorithm::SpuriousLossDetected(
const QuicUnackedPacketMap& unacked_packets, const RttStats& rtt_stats,
QuicTime ack_receive_time, QuicPacketNumber packet_number,
QuicPacketNumber previous_largest_acked) { … }
void GeneralLossAlgorithm::Initialize(PacketNumberSpace packet_number_space,
LossDetectionInterface* parent) { … }
void GeneralLossAlgorithm::Reset() { … }
}