3#include "mc/_HeaderOutputPredefine.h"
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"
37 struct MessageAttributes {
49 MessageAttributes& operator=(MessageAttributes
const&);
50 MessageAttributes(MessageAttributes
const&);
54 class ThresholdWatcher {
65 ThresholdWatcher& operator=(ThresholdWatcher
const&);
66 ThresholdWatcher(ThresholdWatcher
const&);
92 enum class PauseState :
int {
115 Item& operator=(Item
const&);
135 OutgoingStream& operator=(OutgoingStream
const&);
136 OutgoingStream(OutgoingStream
const&);
142 virtual ::std::optional<::dcsctp::SendQueue::DataToSend>
145 virtual uint64 bytes_to_send_in_next_message() const ;
147 virtual ~OutgoingStream() ;
157 MCNAPI OutgoingStream(
158 ::dcsctp::RRSendQueue* parent,
160 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
162 ::
std::function<
void()> on_buffered_amount_low,
173 ::dcsctp::RRSendQueue* parent,
175 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
177 ::
std::function<
void()> on_buffered_amount_low,
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;
219 RRSendQueue& operator=(RRSendQueue const&);
220 RRSendQueue(RRSendQueue const&);
227 Produce(::webrtc::Timestamp now, uint64 max_size) ;
229 virtual
bool Discard(
230 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
234 virtual
void PrepareResetStream(::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id) ;
236 virtual
bool HasStreamsReadyToBeReset() const ;
238 virtual ::
std::vector<::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort>> GetStreamsReadyToBeReset() ;
240 virtual
void CommitResetStreams() ;
242 virtual
void RollbackResetStreams() ;
244 virtual
void Reset() ;
246 virtual uint64 buffered_amount(::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id) const ;
248 virtual uint64 total_buffered_amount() const ;
250 virtual uint64 buffered_amount_low_threshold(::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id) const
253 virtual
void SetBufferedAmountLowThreshold(
254 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
258 virtual
void EnableMessageInterleaving(
bool enabled) ;
260 virtual ~RRSendQueue() ;
280 ::
std::string_view log_prefix,
284 uint64 total_buffered_amount_low_threshold
290 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
299 ::
std::string_view log_prefix,
303 uint64 total_buffered_amount_low_threshold
319 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
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 ~ThresholdWatcher()
MCAPI void AddHandoverState(::dcsctp::DcSctpSocketHandoverState &state)
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()
Definition SendQueue.h:18
Definition StreamIDTag.h:7
Definition StreamPriorityTag.h:7
Definition StreamScheduler.h:35
Definition StreamScheduler.h:19
Definition Timestamp.h:15
Definition DcSctpSocketHandoverState.h:7
Definition RRSendQueue.h:37
Definition RRSendQueue.h:99
Definition SendOptions.h:7
Definition SendQueue.h:26