3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/dcsctp/ErrorKind.h"
7#include "mc/external/dcsctp/SendPacketStatus.h"
8#include "mc/external/webrtc/ArrayView.h"
9#include "mc/external/webrtc/StrongAlias.h"
10#include "mc/external/webrtc/TaskQueueBase.h"
17namespace dcsctp {
class TimeMs; }
18namespace dcsctp {
class Timeout; }
34 virtual ::std::unique_ptr<::dcsctp::Timeout> CreateTimeout(::webrtc::TaskQueueBase::DelayPrecision precision);
36 virtual ::std::unique_ptr<::dcsctp::Timeout> CreateTimeout();
38 virtual ::dcsctp::TimeMs TimeMillis();
40 virtual ::webrtc::Timestamp Now();
42 virtual uint GetRandomInt(uint low, uint high) = 0;
44 virtual void NotifyOutgoingMessageBufferEmpty();
48 virtual void OnMessageReady();
50 virtual void OnError(::dcsctp::ErrorKind error, ::std::string_view message) = 0;
52 virtual void OnAborted(::dcsctp::ErrorKind error, ::std::string_view message) = 0;
54 virtual void OnConnected() = 0;
56 virtual void OnClosed() = 0;
58 virtual void OnConnectionRestarted() = 0;
60 virtual void OnStreamsResetFailed(
62 ::std::string_view reason
65 virtual void OnStreamsResetPerformed(
69 virtual void OnIncomingStreamsReset(
75 virtual void OnTotalBufferedAmountLow();
93 MCNAPI ::std::unique_ptr<::dcsctp::Timeout>
$CreateTimeout(::webrtc::TaskQueueBase::DelayPrecision precision);
99 MCNAPI ::webrtc::Timestamp
$Now();
Definition DcSctpMessage.h:7
Definition DcSctpSocketCallbacks.h:24
MCAPI void $OnMessageReady()
MCAPI::webrtc::Timestamp $Now()
MCAPI void $OnLifecycleMessageDelivered(::dcsctp::LifecycleId lifecycle_id)
MCAPI void $OnLifecycleEnd(::dcsctp::LifecycleId lifecycle_id)
MCAPI void $OnTotalBufferedAmountLow()
MCAPI::dcsctp::TimeMs $TimeMillis()
MCAPI void $OnBufferedAmountLow(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id)
MCAPI void $OnLifecycleMessageFullySent(::dcsctp::LifecycleId lifecycle_id)
MCAPI void $NotifyOutgoingMessageBufferEmpty()
MCAPI ::std::unique_ptr<::dcsctp::Timeout > $CreateTimeout()
MCAPI::dcsctp::SendPacketStatus $SendPacketWithStatus(::webrtc::ArrayView< uchar const > data)
MCAPI void $SendPacket(::webrtc::ArrayView< uchar const >)
static MCAPI void ** $vftable()
MCAPI ::std::unique_ptr<::dcsctp::Timeout > $CreateTimeout(::webrtc::TaskQueueBase::DelayPrecision precision)
MCAPI void $OnLifecycleMessageExpired(::dcsctp::LifecycleId lifecycle_id, bool maybe_delivered)
Definition LifecycleId.h:15
Definition StreamIDTag.h:7
Definition StrongAlias.h:8
Definition Timestamp.h:15