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
28public:
29 // RRSendQueue inner types declare
30 // clang-format off
31 struct MessageAttributes;
32 class OutgoingStream;
33 class ThresholdWatcher;
34 // clang-format on
35
36 // RRSendQueue inner types define
38 public:
39 // member variables
40 // NOLINTBEGIN
45 // NOLINTEND
46
47 public:
48 // prevent constructor by default
49 MessageAttributes& operator=(MessageAttributes const&);
52 };
53
55 public:
56 // member variables
57 // NOLINTBEGIN
61 // NOLINTEND
62
63 public:
64 // prevent constructor by default
65 ThresholdWatcher& operator=(ThresholdWatcher const&);
68
69 public:
70 // member functions
71 // NOLINTBEGIN
72 MCNAPI void Decrease(uint64 bytes);
73
74 MCNAPI void SetLowThreshold(uint64 low_threshold);
75
76 MCNAPI explicit ThresholdWatcher(::std::function<void()> on_threshold_reached);
77
79 // NOLINTEND
80
81 public:
82 // constructor thunks
83 // NOLINTBEGIN
84 MCNAPI void* $ctor(::std::function<void()> on_threshold_reached);
85 // NOLINTEND
86
87 public:
88 // destructor thunk
89 // NOLINTBEGIN
90 MCNAPI void $dtor();
91 // NOLINTEND
92 };
93
95 public:
96 // OutgoingStream inner types declare
97 // clang-format off
98 struct Item;
99 // clang-format on
100
101 // OutgoingStream inner types define
102 enum class PauseState : int {
103 KNotPaused = 0,
104 KPending = 1,
105 KPaused = 2,
106 KResetting = 3,
107 };
108
109 struct Item {
110 public:
111 // member variables
112 // NOLINTBEGIN
121 // NOLINTEND
122
123 public:
124 // prevent constructor by default
125 Item& operator=(Item const&);
126 Item(Item const&);
127 Item();
128
129 public:
130 // member functions
131 // NOLINTBEGIN
132 MCNAPI Item(
136 );
137 // NOLINTEND
138
139 public:
140 // constructor thunks
141 // NOLINTBEGIN
142 MCNAPI void* $ctor(
146 );
147 // NOLINTEND
148 };
149
150 public:
151 // member variables
152 // NOLINTBEGIN
161 // NOLINTEND
162
163 public:
164 // prevent constructor by default
165 OutgoingStream& operator=(OutgoingStream const&);
168
169 public:
170 // virtual functions
171 // NOLINTBEGIN
172 // vIndex: 1
173 virtual ::std::optional<::dcsctp::SendQueue::DataToSend>
174 Produce(::webrtc::Timestamp now, uint64 max_size) /*override*/;
175
176 // vIndex: 2
177 virtual uint64 bytes_to_send_in_next_message() const /*override*/;
178
179 // vIndex: 0
180 virtual ~OutgoingStream() /*override*/;
181 // NOLINTEND
182
183 public:
184 // member functions
185 // NOLINTBEGIN
186 MCNAPI void Add(::dcsctp::DcSctpMessage message, ::dcsctp::RRSendQueue::MessageAttributes attributes);
187
188 MCNAPI void AddHandoverState(::dcsctp::DcSctpSocketHandoverState::OutgoingStream& state) const;
189
190 MCNAPI bool Discard(::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint> message_id);
191
192 MCNAPI void HandleMessageExpired(::dcsctp::RRSendQueue::OutgoingStream::Item& item);
193
195 ::dcsctp::RRSendQueue* parent,
196 ::dcsctp::StreamScheduler* scheduler,
197 ::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id,
198 ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort> priority,
199 ::std::function<void()> on_buffered_amount_low,
200 ::dcsctp::DcSctpSocketHandoverState::OutgoingStream const* state
201 );
202
203 MCNAPI void Pause();
204
205 MCNAPI void Reset();
206
207 MCNAPI void Resume();
208 // NOLINTEND
209
210 public:
211 // constructor thunks
212 // NOLINTBEGIN
213 MCNAPI void* $ctor(
214 ::dcsctp::RRSendQueue* parent,
215 ::dcsctp::StreamScheduler* scheduler,
216 ::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id,
217 ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort> priority,
218 ::std::function<void()> on_buffered_amount_low,
219 ::dcsctp::DcSctpSocketHandoverState::OutgoingStream const* state
220 );
221 // NOLINTEND
222
223 public:
224 // destructor thunk
225 // NOLINTBEGIN
226 MCNAPI void $dtor();
227 // NOLINTEND
228
229 public:
230 // virtual function thunks
231 // NOLINTBEGIN
232 MCNAPI ::std::optional<::dcsctp::SendQueue::DataToSend> $Produce(::webrtc::Timestamp now, uint64 max_size);
233
234 MCNAPI uint64 $bytes_to_send_in_next_message() const;
235 // NOLINTEND
236
237 public:
238 // vftables
239 // NOLINTBEGIN
240 MCNAPI static void** $vftable();
241 // NOLINTEND
242 };
243
244public:
245 // member variables
246 // NOLINTBEGIN
247 ::ll::UntypedStorage<8, 16> mUnk5f656e;
248 ::ll::UntypedStorage<8, 8> mUnk934c54;
249 ::ll::UntypedStorage<2, 2> mUnke66781;
250 ::ll::UntypedStorage<4, 4> mUnkde9a39;
251 ::ll::UntypedStorage<8, 80> mUnk577402;
252 ::ll::UntypedStorage<8, 80> mUnk6e2a10;
253 ::ll::UntypedStorage<8, 16> mUnka85b66;
254 // NOLINTEND
255
256public:
257 // prevent constructor by default
258 RRSendQueue& operator=(RRSendQueue const&);
259 RRSendQueue(RRSendQueue const&);
260 RRSendQueue();
261
262public:
263 // virtual functions
264 // NOLINTBEGIN
265 // vIndex: 1
266 virtual ::std::optional<::dcsctp::SendQueue::DataToSend>
267 Produce(::webrtc::Timestamp now, uint64 max_size) /*override*/;
268
269 // vIndex: 2
270 virtual bool Discard(
271 ::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id,
272 ::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint> message_id
273 ) /*override*/;
274
275 // vIndex: 3
276 virtual void PrepareResetStream(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) /*override*/;
277
278 // vIndex: 4
279 virtual bool HasStreamsReadyToBeReset() const /*override*/;
280
281 // vIndex: 5
282 virtual ::std::vector<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort>> GetStreamsReadyToBeReset() /*override*/;
283
284 // vIndex: 6
285 virtual void CommitResetStreams() /*override*/;
286
287 // vIndex: 7
288 virtual void RollbackResetStreams() /*override*/;
289
290 // vIndex: 8
291 virtual void Reset() /*override*/;
292
293 // vIndex: 9
294 virtual uint64 buffered_amount(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const /*override*/;
295
296 // vIndex: 10
297 virtual uint64 total_buffered_amount() const /*override*/;
298
299 // vIndex: 11
300 virtual uint64 buffered_amount_low_threshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const
301 /*override*/;
302
303 // vIndex: 12
304 virtual void SetBufferedAmountLowThreshold(
305 ::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id,
306 uint64 bytes
307 ) /*override*/;
308
309 // vIndex: 13
310 virtual void EnableMessageInterleaving(bool enabled) /*override*/;
311
312 // vIndex: 0
313 virtual ~RRSendQueue() /*override*/;
314 // NOLINTEND
315
316public:
317 // member functions
318 // NOLINTBEGIN
319 MCNAPI void
320 Add(::webrtc::Timestamp now, ::dcsctp::DcSctpMessage message, ::dcsctp::SendOptions const& send_options);
321
322 MCNAPI void AddHandoverState(::dcsctp::DcSctpSocketHandoverState& state);
323
325
326 MCNAPI ::dcsctp::RRSendQueue::OutgoingStream&
327 GetOrCreateStreamInfo(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id);
328
329 MCNAPI ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort>
330 GetStreamPriority(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const;
331
332 MCNAPI bool IsEmpty() const;
333
335 ::std::string_view log_prefix,
336 ::dcsctp::DcSctpSocketCallbacks* callbacks,
337 uint64 mtu,
338 ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort> default_priority,
339 uint64 total_buffered_amount_low_threshold
340 );
341
342 MCNAPI void RestoreFromState(::dcsctp::DcSctpSocketHandoverState const& state);
343
344 MCNAPI void SetStreamPriority(
345 ::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id,
346 ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort> priority
347 );
348 // NOLINTEND
349
350public:
351 // constructor thunks
352 // NOLINTBEGIN
353 MCNAPI void* $ctor(
354 ::std::string_view log_prefix,
355 ::dcsctp::DcSctpSocketCallbacks* callbacks,
356 uint64 mtu,
357 ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort> default_priority,
358 uint64 total_buffered_amount_low_threshold
359 );
360 // NOLINTEND
361
362public:
363 // destructor thunk
364 // NOLINTBEGIN
365 MCNAPI void $dtor();
366 // NOLINTEND
367
368public:
369 // virtual function thunks
370 // NOLINTBEGIN
371 MCNAPI ::std::optional<::dcsctp::SendQueue::DataToSend> $Produce(::webrtc::Timestamp now, uint64 max_size);
372
373 MCNAPI bool $Discard(
374 ::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id,
375 ::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint> message_id
376 );
377
378 MCNAPI void $PrepareResetStream(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id);
379
380 MCNAPI bool $HasStreamsReadyToBeReset() const;
381
382 MCNAPI ::std::vector<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort>> $GetStreamsReadyToBeReset();
383
384 MCNAPI void $CommitResetStreams();
385
387
388 MCNAPI void $Reset();
389
390 MCNAPI uint64 $buffered_amount(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const;
391
392 MCNAPI uint64 $total_buffered_amount() const;
393
394 MCNAPI uint64 $buffered_amount_low_threshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const;
395
396 MCNAPI void
397 $SetBufferedAmountLowThreshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id, uint64 bytes);
398
399 MCNAPI void $EnableMessageInterleaving(bool enabled);
400 // NOLINTEND
401
402public:
403 // vftables
404 // NOLINTBEGIN
405 MCNAPI static void** $vftable();
406 // NOLINTEND
407};
408
409} // namespace dcsctp
Definition DcSctpMessage.h:7
Definition DcSctpSocketCallbacks.h:23
Definition HandoverReadinessStatus.h:15
Definition OutgoingMessageIdTag.h:7
Definition RRSendQueue.h:94
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 bool Discard(::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint > message_id)
static MCAPI void ** $vftable()
MCAPI void AddHandoverState(::dcsctp::DcSctpSocketHandoverState::OutgoingStream &state) const
Definition RRSendQueue.h:54
MCAPI void * $ctor(::std::function< void()> on_threshold_reached)
MCAPI ThresholdWatcher(::std::function< void()> on_threshold_reached)
MCAPI void Decrease(uint64 bytes)
MCAPI void SetLowThreshold(uint64 low_threshold)
Definition RRSendQueue.h:27
MCAPI bool IsEmpty() const
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
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 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 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 StrongAlias.h:8
Definition Timestamp.h:10
STL namespace.
Definition DcSctpSocketHandoverState.h:7
Definition RRSendQueue.h:37
Definition RRSendQueue.h:109
MCAPI Item(::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint > message_id, ::dcsctp::DcSctpMessage msg, ::dcsctp::RRSendQueue::MessageAttributes attributes)
MCAPI void * $ctor(::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint > message_id, ::dcsctp::DcSctpMessage msg, ::dcsctp::RRSendQueue::MessageAttributes attributes)
Definition SendOptions.h:7
Definition SendQueue.h:26
Definition Alias.h:14