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"
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; }
84 MCNAPI
void*
$ctor(::std::function<
void()> on_threshold_reached);
102 enum class PauseState :
int {
173 virtual ::std::optional<::dcsctp::SendQueue::DataToSend>
177 virtual uint64 bytes_to_send_in_next_message() const ;
197 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
199 ::
std::function<
void()> on_buffered_amount_low,
216 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
218 ::
std::function<
void()> on_buffered_amount_low,
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;
267 Produce(::webrtc::Timestamp now, uint64 max_size) ;
271 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
276 virtual
void PrepareResetStream(::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id) ;
279 virtual
bool HasStreamsReadyToBeReset() const ;
282 virtual ::
std::vector<::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort>> GetStreamsReadyToBeReset() ;
285 virtual
void CommitResetStreams() ;
288 virtual
void RollbackResetStreams() ;
291 virtual
void Reset() ;
294 virtual uint64 buffered_amount(::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id) const ;
297 virtual uint64 total_buffered_amount() const ;
300 virtual uint64 buffered_amount_low_threshold(::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id) const
304 virtual
void SetBufferedAmountLowThreshold(
305 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
310 virtual
void EnableMessageInterleaving(
bool enabled) ;
335 ::
std::string_view log_prefix,
339 uint64 total_buffered_amount_low_threshold
345 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
354 ::
std::string_view log_prefix,
358 uint64 total_buffered_amount_low_threshold
374 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
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)
MCAPI ~ThresholdWatcher()
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()
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
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