LeviLamina
Loading...
Searching...
No Matches
RRSendQueue.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/dcsctp/DcSctpSocketHandoverState.h"
7#include "mc/external/dcsctp/SendQueue.h"
8#include "mc/external/dcsctp/StreamScheduler.h"
9#include "mc/external/webrtc/StrongAlias.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace dcsctp { class DcSctpMessage; }
14namespace dcsctp { class DcSctpSocketCallbacks; }
15namespace dcsctp { class HandoverReadinessStatus; }
16namespace dcsctp { class OutgoingMessageIdTag; }
17namespace dcsctp { class StreamIDTag; }
18namespace dcsctp { class StreamPriorityTag; }
19namespace dcsctp { class StreamScheduler; }
20namespace dcsctp { struct DcSctpSocketHandoverState; }
21namespace dcsctp { struct SendOptions; }
22namespace webrtc { class Timestamp; }
23// clang-format on
24
25namespace dcsctp {
26
27class RRSendQueue : public ::dcsctp::SendQueue {
28public:
29 // RRSendQueue inner types declare
30 // clang-format off
31 struct MessageAttributes;
32 class ThresholdWatcher;
33 class OutgoingStream;
34 // clang-format on
35
36 // RRSendQueue inner types define
37 struct MessageAttributes {
38 public:
39 // member variables
40 // NOLINTBEGIN
45 // NOLINTEND
46
47 public:
48 // prevent constructor by default
49 MessageAttributes& operator=(MessageAttributes const&);
50 MessageAttributes(MessageAttributes const&);
51 MessageAttributes();
52 };
53
54 class ThresholdWatcher {
55 public:
56 // member variables
57 // NOLINTBEGIN
61 // NOLINTEND
62
63 public:
64 // prevent constructor by default
65 ThresholdWatcher& operator=(ThresholdWatcher const&);
66 ThresholdWatcher(ThresholdWatcher const&);
67 ThresholdWatcher();
68
69 public:
70 // member functions
71 // NOLINTBEGIN
72 MCNAPI void Decrease(uint64 bytes);
73
75 // NOLINTEND
76
77 public:
78 // destructor thunk
79 // NOLINTBEGIN
80 MCNAPI void $dtor();
81 // NOLINTEND
82 };
83
84 class OutgoingStream : public ::dcsctp::StreamScheduler::StreamProducer {
85 public:
86 // OutgoingStream inner types declare
87 // clang-format off
88 struct Item;
89 // clang-format on
90
91 // OutgoingStream inner types define
92 enum class PauseState : int {
93 KNotPaused = 0,
94 KPending = 1,
95 KPaused = 2,
96 KResetting = 3,
97 };
98
99 struct Item {
100 public:
101 // member variables
102 // NOLINTBEGIN
111 // NOLINTEND
112
113 public:
114 // prevent constructor by default
115 Item& operator=(Item const&);
116 Item(Item const&);
117 Item();
118 };
119
120 public:
121 // member variables
122 // NOLINTBEGIN
131 // NOLINTEND
132
133 public:
134 // prevent constructor by default
135 OutgoingStream& operator=(OutgoingStream const&);
136 OutgoingStream(OutgoingStream const&);
137 OutgoingStream();
138
139 public:
140 // virtual functions
141 // NOLINTBEGIN
142 virtual ::std::optional<::dcsctp::SendQueue::DataToSend>
143 Produce(::webrtc::Timestamp now, uint64 max_size) /*override*/;
144
145 virtual uint64 bytes_to_send_in_next_message() const /*override*/;
146
147 virtual ~OutgoingStream() /*override*/;
148 // NOLINTEND
149
150 public:
151 // member functions
152 // NOLINTBEGIN
153 MCNAPI void Add(::dcsctp::DcSctpMessage message, ::dcsctp::RRSendQueue::MessageAttributes attributes);
154
155 MCNAPI void HandleMessageExpired(::dcsctp::RRSendQueue::OutgoingStream::Item& item);
156
157 MCNAPI OutgoingStream(
158 ::dcsctp::RRSendQueue* parent,
159 ::dcsctp::StreamScheduler* scheduler,
160 ::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id,
161 ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort> priority,
162 ::std::function<void()> on_buffered_amount_low,
163 ::dcsctp::DcSctpSocketHandoverState::OutgoingStream const* state
164 );
165
166 MCNAPI void Reset();
167 // NOLINTEND
168
169 public:
170 // constructor thunks
171 // NOLINTBEGIN
172 MCNAPI void* $ctor(
173 ::dcsctp::RRSendQueue* parent,
174 ::dcsctp::StreamScheduler* scheduler,
175 ::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id,
176 ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort> priority,
177 ::std::function<void()> on_buffered_amount_low,
178 ::dcsctp::DcSctpSocketHandoverState::OutgoingStream const* state
179 );
180 // NOLINTEND
181
182 public:
183 // destructor thunk
184 // NOLINTBEGIN
185 MCNAPI void $dtor();
186 // NOLINTEND
187
188 public:
189 // virtual function thunks
190 // NOLINTBEGIN
191 MCNAPI ::std::optional<::dcsctp::SendQueue::DataToSend> $Produce(::webrtc::Timestamp now, uint64 max_size);
192
193 MCNAPI uint64 $bytes_to_send_in_next_message() const;
194
195
196 // NOLINTEND
197
198 public:
199 // vftables
200 // NOLINTBEGIN
201 MCNAPI static void** $vftable();
202 // NOLINTEND
203 };
204
205public:
206 // member variables
207 // NOLINTBEGIN
208 ::ll::UntypedStorage<8, 16> mUnk5f656e;
209 ::ll::UntypedStorage<8, 8> mUnk934c54;
210 ::ll::UntypedStorage<2, 2> mUnke66781;
211 ::ll::UntypedStorage<4, 4> mUnkde9a39;
212 ::ll::UntypedStorage<8, 80> mUnk577402;
213 ::ll::UntypedStorage<8, 80> mUnk6e2a10;
214 ::ll::UntypedStorage<8, 16> mUnka85b66;
215 // NOLINTEND
216
217public:
218 // prevent constructor by default
219 RRSendQueue& operator=(RRSendQueue const&);
220 RRSendQueue(RRSendQueue const&);
221 RRSendQueue();
222
223public:
224 // virtual functions
225 // NOLINTBEGIN
226 virtual ::std::optional<::dcsctp::SendQueue::DataToSend>
227 Produce(::webrtc::Timestamp now, uint64 max_size) /*override*/;
228
229 virtual bool Discard(
230 ::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id,
231 ::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint> message_id
232 ) /*override*/;
233
234 virtual void PrepareResetStream(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) /*override*/;
235
236 virtual bool HasStreamsReadyToBeReset() const /*override*/;
237
238 virtual ::std::vector<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort>> GetStreamsReadyToBeReset() /*override*/;
239
240 virtual void CommitResetStreams() /*override*/;
241
242 virtual void RollbackResetStreams() /*override*/;
243
244 virtual void Reset() /*override*/;
245
246 virtual uint64 buffered_amount(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const /*override*/;
247
248 virtual uint64 total_buffered_amount() const /*override*/;
249
250 virtual uint64 buffered_amount_low_threshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const
251 /*override*/;
252
253 virtual void SetBufferedAmountLowThreshold(
254 ::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id,
255 uint64 bytes
256 ) /*override*/;
257
258 virtual void EnableMessageInterleaving(bool enabled) /*override*/;
259
260 virtual ~RRSendQueue() /*override*/;
261 // NOLINTEND
262
263public:
264 // member functions
265 // NOLINTBEGIN
266 MCNAPI void
267 Add(::webrtc::Timestamp now, ::dcsctp::DcSctpMessage message, ::dcsctp::SendOptions const& send_options);
268
269 MCNAPI void AddHandoverState(::dcsctp::DcSctpSocketHandoverState& state);
270
272
273 MCNAPI ::dcsctp::RRSendQueue::OutgoingStream&
274 GetOrCreateStreamInfo(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id);
275
276 MCNAPI ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort>
277 GetStreamPriority(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const;
278
279 MCNAPI RRSendQueue(
280 ::std::string_view log_prefix,
281 ::dcsctp::DcSctpSocketCallbacks* callbacks,
282 uint64 mtu,
283 ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort> default_priority,
284 uint64 total_buffered_amount_low_threshold
285 );
286
287 MCNAPI void RestoreFromState(::dcsctp::DcSctpSocketHandoverState const& state);
288
289 MCNAPI void SetStreamPriority(
290 ::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id,
291 ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort> priority
292 );
293 // NOLINTEND
294
295public:
296 // constructor thunks
297 // NOLINTBEGIN
298 MCNAPI void* $ctor(
299 ::std::string_view log_prefix,
300 ::dcsctp::DcSctpSocketCallbacks* callbacks,
301 uint64 mtu,
302 ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort> default_priority,
303 uint64 total_buffered_amount_low_threshold
304 );
305 // NOLINTEND
306
307public:
308 // destructor thunk
309 // NOLINTBEGIN
310 MCNAPI void $dtor();
311 // NOLINTEND
312
313public:
314 // virtual function thunks
315 // NOLINTBEGIN
316 MCNAPI ::std::optional<::dcsctp::SendQueue::DataToSend> $Produce(::webrtc::Timestamp now, uint64 max_size);
317
318 MCNAPI bool $Discard(
319 ::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id,
320 ::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint> message_id
321 );
322
323 MCNAPI void $PrepareResetStream(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id);
324
325 MCNAPI bool $HasStreamsReadyToBeReset() const;
326
327 MCNAPI ::std::vector<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort>> $GetStreamsReadyToBeReset();
328
329 MCNAPI void $CommitResetStreams();
330
332
333 MCNAPI void $Reset();
334
335 MCNAPI uint64 $buffered_amount(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const;
336
337 MCNAPI uint64 $total_buffered_amount() const;
338
339 MCNAPI uint64 $buffered_amount_low_threshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const;
340
341 MCNAPI void
342 $SetBufferedAmountLowThreshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id, uint64 bytes);
343
344 MCNAPI void $EnableMessageInterleaving(bool enabled);
345
346
347 // NOLINTEND
348
349public:
350 // vftables
351 // NOLINTBEGIN
352 MCNAPI static void** $vftable();
353 // NOLINTEND
354};
355
356} // namespace dcsctp
Definition DcSctpMessage.h:16
Definition DcSctpSocketCallbacks.h:23
Definition HandoverReadinessStatus.h:15
Definition OutgoingMessageIdTag.h:7
Definition RRSendQueue.h:84
MCAPI void * $ctor(::dcsctp::RRSendQueue *parent, ::dcsctp::StreamScheduler *scheduler, ::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id, ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort > priority, ::std::function< void()> on_buffered_amount_low, ::dcsctp::DcSctpSocketHandoverState::OutgoingStream const *state)
MCAPI void HandleMessageExpired(::dcsctp::RRSendQueue::OutgoingStream::Item &item)
MCAPI ::std::optional<::dcsctp::SendQueue::DataToSend > $Produce(::webrtc::Timestamp now, uint64 max_size)
MCAPI uint64 $bytes_to_send_in_next_message() const
MCAPI void Add(::dcsctp::DcSctpMessage message, ::dcsctp::RRSendQueue::MessageAttributes attributes)
static MCAPI void ** $vftable()
Definition RRSendQueue.h:54
MCAPI void Decrease(uint64 bytes)
MCAPI void AddHandoverState(::dcsctp::DcSctpSocketHandoverState &state)
MCAPI void $dtor()
MCAPI void $EnableMessageInterleaving(bool enabled)
MCAPI void $SetBufferedAmountLowThreshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id, uint64 bytes)
MCAPI void SetStreamPriority(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id, ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort > priority)
MCAPI::dcsctp::RRSendQueue::OutgoingStream & GetOrCreateStreamInfo(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id)
MCAPI uint64 $buffered_amount(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id) const
static MCAPI void ** $vftable()
MCAPI ::std::optional<::dcsctp::SendQueue::DataToSend > $Produce(::webrtc::Timestamp now, uint64 max_size)
MCAPI void RestoreFromState(::dcsctp::DcSctpSocketHandoverState const &state)
MCAPI void $CommitResetStreams()
MCAPI void $PrepareResetStream(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id)
MCAPI bool $HasStreamsReadyToBeReset() const
MCAPI void * $ctor(::std::string_view log_prefix, ::dcsctp::DcSctpSocketCallbacks *callbacks, uint64 mtu, ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort > default_priority, uint64 total_buffered_amount_low_threshold)
MCAPI bool $Discard(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id, ::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint > message_id)
MCAPI::dcsctp::HandoverReadinessStatus GetHandoverReadiness() const
MCAPI ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort > GetStreamPriority(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id) const
MCAPI void $RollbackResetStreams()
MCAPI void Add(::webrtc::Timestamp now, ::dcsctp::DcSctpMessage message, ::dcsctp::SendOptions const &send_options)
MCAPI uint64 $buffered_amount_low_threshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id) const
MCAPI uint64 $total_buffered_amount() const
MCAPI ::std::vector<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > > $GetStreamsReadyToBeReset()
MCAPI void $Reset()
Definition SendQueue.h:18
Definition StreamIDTag.h:7
Definition StreamPriorityTag.h:7
Definition StreamScheduler.h:35
Definition StreamScheduler.h:19
Definition Timestamp.h:15
STL namespace.
Definition DcSctpSocketHandoverState.h:7
Definition RRSendQueue.h:37
Definition SendOptions.h:7
Definition SendQueue.h:26
Definition Alias.h:14