#include "quiche/quic/core/congestion_control/bandwidth_sampler.h"
#include <algorithm>
#include <ostream>
#include "quiche/quic/core/quic_types.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"
#include "quiche/quic/platform/api/quic_logging.h"
namespace quic {
std::ostream& operator<<(std::ostream& os, const SendTimeState& s) { … }
QuicByteCount MaxAckHeightTracker::Update(
QuicBandwidth bandwidth_estimate, bool is_new_max_bandwidth,
QuicRoundTripCount round_trip_count,
QuicPacketNumber last_sent_packet_number,
QuicPacketNumber last_acked_packet_number, QuicTime ack_time,
QuicByteCount bytes_acked) { … }
BandwidthSampler::BandwidthSampler(
const QuicUnackedPacketMap* unacked_packet_map,
QuicRoundTripCount max_height_tracker_window_length)
: … { … }
BandwidthSampler::BandwidthSampler(const BandwidthSampler& other)
: … { … }
void BandwidthSampler::EnableOverestimateAvoidance() { … }
BandwidthSampler::~BandwidthSampler() { … }
void BandwidthSampler::OnPacketSent(
QuicTime sent_time, QuicPacketNumber packet_number, QuicByteCount bytes,
QuicByteCount bytes_in_flight,
HasRetransmittableData has_retransmittable_data) { … }
void BandwidthSampler::OnPacketNeutered(QuicPacketNumber packet_number) { … }
BandwidthSamplerInterface::CongestionEventSample
BandwidthSampler::OnCongestionEvent(QuicTime ack_time,
const AckedPacketVector& acked_packets,
const LostPacketVector& lost_packets,
QuicBandwidth max_bandwidth,
QuicBandwidth est_bandwidth_upper_bound,
QuicRoundTripCount round_trip_count) { … }
QuicByteCount BandwidthSampler::OnAckEventEnd(
QuicBandwidth bandwidth_estimate, bool is_new_max_bandwidth,
QuicRoundTripCount round_trip_count) { … }
BandwidthSample BandwidthSampler::OnPacketAcknowledged(
QuicTime ack_time, QuicPacketNumber packet_number) { … }
BandwidthSample BandwidthSampler::OnPacketAcknowledgedInner(
QuicTime ack_time, QuicPacketNumber packet_number,
const ConnectionStateOnSentPacket& sent_packet) { … }
bool BandwidthSampler::ChooseA0Point(QuicByteCount total_bytes_acked,
AckPoint* a0) { … }
SendTimeState BandwidthSampler::OnPacketLost(QuicPacketNumber packet_number,
QuicPacketLength bytes_lost) { … }
void BandwidthSampler::SentPacketToSendTimeState(
const ConnectionStateOnSentPacket& sent_packet,
SendTimeState* send_time_state) const { … }
void BandwidthSampler::OnAppLimited() { … }
void BandwidthSampler::RemoveObsoletePackets(QuicPacketNumber least_unacked) { … }
QuicByteCount BandwidthSampler::total_bytes_sent() const { … }
QuicByteCount BandwidthSampler::total_bytes_acked() const { … }
QuicByteCount BandwidthSampler::total_bytes_lost() const { … }
QuicByteCount BandwidthSampler::total_bytes_neutered() const { … }
bool BandwidthSampler::is_app_limited() const { … }
QuicPacketNumber BandwidthSampler::end_of_app_limited_phase() const { … }
}