#include "modules/pacing/task_queue_paced_sender.h"
#include <algorithm>
#include <utility>
#include "absl/cleanup/cleanup.h"
#include "api/task_queue/pending_task_safety_flag.h"
#include "api/transport/network_types.h"
#include "rtc_base/checks.h"
#include "rtc_base/trace_event.h"
namespace webrtc {
const int TaskQueuePacedSender::kNoPacketHoldback = …;
TaskQueuePacedSender::TaskQueuePacedSender(
Clock* clock,
PacingController::PacketSender* packet_sender,
const FieldTrialsView& field_trials,
TimeDelta max_hold_back_window,
int max_hold_back_window_in_packets)
: … { … }
TaskQueuePacedSender::~TaskQueuePacedSender() { … }
void TaskQueuePacedSender::SetSendBurstInterval(TimeDelta burst_interval) { … }
void TaskQueuePacedSender::SetAllowProbeWithoutMediaPacket(bool allow) { … }
void TaskQueuePacedSender::EnsureStarted() { … }
void TaskQueuePacedSender::CreateProbeClusters(
std::vector<ProbeClusterConfig> probe_cluster_configs) { … }
void TaskQueuePacedSender::Pause() { … }
void TaskQueuePacedSender::Resume() { … }
void TaskQueuePacedSender::SetCongested(bool congested) { … }
void TaskQueuePacedSender::SetPacingRates(DataRate pacing_rate,
DataRate padding_rate) { … }
void TaskQueuePacedSender::EnqueuePackets(
std::vector<std::unique_ptr<RtpPacketToSend>> packets) { … }
void TaskQueuePacedSender::RemovePacketsForSsrc(uint32_t ssrc) { … }
void TaskQueuePacedSender::SetAccountForAudioPackets(bool account_for_audio) { … }
void TaskQueuePacedSender::SetIncludeOverhead() { … }
void TaskQueuePacedSender::SetTransportOverhead(DataSize overhead_per_packet) { … }
void TaskQueuePacedSender::SetQueueTimeLimit(TimeDelta limit) { … }
TimeDelta TaskQueuePacedSender::ExpectedQueueTime() const { … }
DataSize TaskQueuePacedSender::QueueSizeData() const { … }
absl::optional<Timestamp> TaskQueuePacedSender::FirstSentPacketTime() const { … }
TimeDelta TaskQueuePacedSender::OldestPacketWaitTime() const { … }
void TaskQueuePacedSender::OnStatsUpdated(const Stats& stats) { … }
void TaskQueuePacedSender::MaybeScheduleProcessPackets() { … }
void TaskQueuePacedSender::MaybeProcessPackets(
Timestamp scheduled_process_time) { … }
void TaskQueuePacedSender::UpdateStats() { … }
TaskQueuePacedSender::Stats TaskQueuePacedSender::GetStats() const { … }
}