LeviLamina
Loading...
Searching...
No Matches
TaskQueuePacedSender.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/PacingController.h"
7#include "mc/external/webrtc/RtpPacketPacer.h"
8#include "mc/external/webrtc/RtpPacketSender.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace webrtc { class Clock; }
13namespace webrtc { class DataRate; }
14namespace webrtc { class DataSize; }
15namespace webrtc { class FieldTrialsView; }
16namespace webrtc { class RtpPacketToSend; }
17namespace webrtc { class TimeDelta; }
18namespace webrtc { class Timestamp; }
19namespace webrtc { struct ProbeClusterConfig; }
20// clang-format on
21
22namespace webrtc {
23
24class TaskQueuePacedSender : public ::webrtc::RtpPacketPacer, public ::webrtc::RtpPacketSender {
25public:
26 // TaskQueuePacedSender inner types declare
27 // clang-format off
28 struct Stats;
29 // clang-format on
30
31 // TaskQueuePacedSender inner types define
32 struct Stats {
33 public:
34 // member variables
35 // NOLINTBEGIN
40 // NOLINTEND
41
42 public:
43 // prevent constructor by default
44 Stats& operator=(Stats const&);
45 Stats(Stats const&);
46 Stats();
47 };
48
49public:
50 // member variables
51 // NOLINTBEGIN
65 // NOLINTEND
66
67public:
68 // prevent constructor by default
69 TaskQueuePacedSender& operator=(TaskQueuePacedSender const&);
70 TaskQueuePacedSender(TaskQueuePacedSender const&);
71 TaskQueuePacedSender();
72
73public:
74 // virtual functions
75 // NOLINTBEGIN
76 virtual ~TaskQueuePacedSender() /*override*/;
77
78 virtual void EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets) /*override*/;
79
80 virtual void RemovePacketsForSsrc(uint ssrc) /*override*/;
81
82 virtual void CreateProbeClusters(::std::vector<::webrtc::ProbeClusterConfig> probe_cluster_configs) /*override*/;
83
84 virtual void Pause() /*override*/;
85
86 virtual void Resume() /*override*/;
87
88 virtual void SetCongested(bool congested) /*override*/;
89
90 virtual void SetPacingRates(::webrtc::DataRate pacing_rate, ::webrtc::DataRate padding_rate) /*override*/;
91
92 virtual void SetAccountForAudioPackets(bool account_for_audio) /*override*/;
93
94 virtual void SetIncludeOverhead() /*override*/;
95
96 virtual void SetTransportOverhead(::webrtc::DataSize overhead_per_packet) /*override*/;
97
98 virtual ::webrtc::TimeDelta OldestPacketWaitTime() const /*override*/;
99
100 virtual ::webrtc::DataSize QueueSizeData() const /*override*/;
101
102 virtual ::std::optional<::webrtc::Timestamp> FirstSentPacketTime() const /*override*/;
103
104 virtual ::webrtc::TimeDelta ExpectedQueueTime() const /*override*/;
105
106 virtual void SetQueueTimeLimit(::webrtc::TimeDelta limit) /*override*/;
107 // NOLINTEND
108
109public:
110 // member functions
111 // NOLINTBEGIN
112 MCNAPI void EnsureStarted();
113
114 MCNAPI void MaybeProcessPackets(::webrtc::Timestamp scheduled_process_time);
115
116 MCNAPI void SetAllowProbeWithoutMediaPacket(bool allow);
117
118 MCNAPI void SetSendBurstInterval(::webrtc::TimeDelta burst_interval);
119
120 MCNAPI TaskQueuePacedSender(
121 ::webrtc::Clock* clock,
122 ::webrtc::PacingController::PacketSender* packet_sender,
123 ::webrtc::FieldTrialsView const& field_trials,
124 ::webrtc::TimeDelta max_hold_back_window,
125 int max_hold_back_window_in_packets
126 );
127 // NOLINTEND
128
129public:
130 // static variables
131 // NOLINTBEGIN
132 MCNAPI static int const& kNoPacketHoldback();
133 // NOLINTEND
134
135public:
136 // constructor thunks
137 // NOLINTBEGIN
138 MCNAPI void* $ctor(
139 ::webrtc::Clock* clock,
140 ::webrtc::PacingController::PacketSender* packet_sender,
141 ::webrtc::FieldTrialsView const& field_trials,
142 ::webrtc::TimeDelta max_hold_back_window,
143 int max_hold_back_window_in_packets
144 );
145 // NOLINTEND
146
147public:
148 // destructor thunk
149 // NOLINTBEGIN
150 MCNAPI void $dtor();
151 // NOLINTEND
152
153public:
154 // virtual function thunks
155 // NOLINTBEGIN
156 MCNAPI void $EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> packets);
157
158 MCNAPI void $RemovePacketsForSsrc(uint ssrc);
159
160 MCNAPI void $CreateProbeClusters(::std::vector<::webrtc::ProbeClusterConfig> probe_cluster_configs);
161
162 MCNAPI void $Pause();
163
164 MCNAPI void $Resume();
165
166 MCNAPI void $SetCongested(bool congested);
167
168 MCNAPI void $SetPacingRates(::webrtc::DataRate pacing_rate, ::webrtc::DataRate padding_rate);
169
170 MCNAPI void $SetAccountForAudioPackets(bool account_for_audio);
171
172 MCNAPI void $SetIncludeOverhead();
173
174 MCNAPI void $SetTransportOverhead(::webrtc::DataSize overhead_per_packet);
175
176 MCNAPI ::webrtc::TimeDelta $OldestPacketWaitTime() const;
177
178 MCNAPI ::webrtc::DataSize $QueueSizeData() const;
179
180 MCNAPI ::std::optional<::webrtc::Timestamp> $FirstSentPacketTime() const;
181
182 MCNAPI ::webrtc::TimeDelta $ExpectedQueueTime() const;
183
184 MCNAPI void $SetQueueTimeLimit(::webrtc::TimeDelta limit);
185
186
187 // NOLINTEND
188
189public:
190 // vftables
191 // NOLINTBEGIN
192 MCNAPI static void** $vftableForRtpPacketSender();
193
194 MCNAPI static void** $vftableForRtpPacketPacer();
195 // NOLINTEND
196};
197
198} // namespace webrtc
Definition PacketSender.h:17
Definition Clock.h:13
Definition DataRate.h:10
Definition DataSize.h:10
Definition FieldTrialsView.h:7
Definition PacingController.h:23
Definition RtpPacketPacer.h:16
Definition RtpPacketSender.h:12
Definition RtpPacketToSend.h:16
MCAPI void SetSendBurstInterval(::webrtc::TimeDelta burst_interval)
MCAPI void $EnqueuePackets(::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend > > packets)
MCAPI void $CreateProbeClusters(::std::vector<::webrtc::ProbeClusterConfig > probe_cluster_configs)
static MCAPI void ** $vftableForRtpPacketPacer()
MCAPI void $SetQueueTimeLimit(::webrtc::TimeDelta limit)
static MCAPI int const & kNoPacketHoldback()
MCAPI ::std::optional<::webrtc::Timestamp > $FirstSentPacketTime() const
MCAPI void $SetTransportOverhead(::webrtc::DataSize overhead_per_packet)
MCAPI::webrtc::TimeDelta $ExpectedQueueTime() const
MCAPI void $SetAccountForAudioPackets(bool account_for_audio)
MCAPI void SetAllowProbeWithoutMediaPacket(bool allow)
MCAPI::webrtc::TimeDelta $OldestPacketWaitTime() const
MCAPI void * $ctor(::webrtc::Clock *clock, ::webrtc::PacingController::PacketSender *packet_sender, ::webrtc::FieldTrialsView const &field_trials, ::webrtc::TimeDelta max_hold_back_window, int max_hold_back_window_in_packets)
MCAPI void MaybeProcessPackets(::webrtc::Timestamp scheduled_process_time)
MCAPI void $SetCongested(bool congested)
MCAPI void $SetPacingRates(::webrtc::DataRate pacing_rate, ::webrtc::DataRate padding_rate)
MCAPI void $RemovePacketsForSsrc(uint ssrc)
MCAPI::webrtc::DataSize $QueueSizeData() const
static MCAPI void ** $vftableForRtpPacketSender()
Definition TimeDelta.h:10
Definition Timestamp.h:15
STL namespace.
Definition Alias.h:14
Definition ProbeClusterConfig.h:7
Definition TaskQueuePacedSender.h:32