3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/absl/AnyInvocable.h"
7#include "mc/external/rtc/WeakPtr.h"
8#include "mc/external/webrtc/DataChannelInterface.h"
9#include "mc/external/webrtc/DataChannelObserver.h"
10#include "mc/external/webrtc/DataMessageType.h"
11#include "mc/external/webrtc/Priority.h"
12#include "mc/external/webrtc/scoped_refptr.h"
17namespace rtc {
class Thread; }
37 enum class HandshakeState :
int {
39 KHandshakeShouldSendOpen = 1,
40 KHandshakeShouldSendAck = 2,
41 KHandshakeWaitingForAck = 3,
65 CachedGetters& operator=(CachedGetters
const&);
66 CachedGetters(CachedGetters
const&);
83 ObserverAdapter& operator=(ObserverAdapter
const&);
84 ObserverAdapter(ObserverAdapter
const&);
90 virtual void OnStateChange() ;
94 virtual void OnBufferedAmountChange(uint64 sent_data_size) ;
96 virtual bool IsOkToCallOnTheNetworkThread() ;
98 virtual ~ObserverAdapter() =
default;
160 SctpDataChannel& operator=(SctpDataChannel
const&);
161 SctpDataChannel(SctpDataChannel
const&);
169 virtual void UnregisterObserver() ;
171 virtual ::std::string label() const ;
173 virtual
bool reliable() const ;
175 virtual
bool ordered() const ;
177 virtual ushort maxRetransmitTime() const ;
179 virtual ushort maxRetransmits() const ;
181 virtual ::
std::optional<
int> maxPacketLifeTime() const ;
183 virtual ::
std::optional<
int> maxRetransmitsOpt() const ;
185 virtual ::
std::
string protocol() const ;
187 virtual
bool negotiated() const ;
189 virtual
int id() const ;
191 virtual ::webrtc::Priority priority() const ;
193 virtual uint64 buffered_amount() const ;
195 virtual
void Close() ;
199 virtual ::webrtc::
RTCError error() const ;
201 virtual uint messages_sent() const ;
203 virtual uint64 bytes_sent() const ;
205 virtual uint messages_received() const ;
207 virtual uint64 bytes_received() const ;
209 virtual uint64 bytes_send_buffer() const ;
216 virtual ~SctpDataChannel() ;
238 MCNAPI
void OnDataReceived(::webrtc::DataMessageType type, ::rtc::CopyOnWriteBuffer const& payload);
246 MCNAPI SctpDataChannel(
249 ::
std::
string const& label,
250 bool connected_to_transport,
251 ::rtc::Thread* signaling_thread,
252 ::rtc::Thread* network_thread
273 ::
std::
string const& label,
274 bool connected_to_transport,
276 ::rtc::Thread* signaling_thread,
277 ::rtc::Thread* network_thread
292 ::
std::
string const& label,
293 bool connected_to_transport,
294 ::rtc::Thread* signaling_thread,
295 ::rtc::Thread* network_thread
Definition CopyOnWriteBuffer.h:11
Definition DataChannelInterface.h:19
Definition DataChannelObserver.h:12
Definition PendingTaskSafetyFlag.h:16
Definition SctpDataChannelControllerInterface.h:19
Definition SctpDataChannel.h:53
Definition SctpDataChannel.h:45
MCAPI void $OnBufferedAmountChange(uint64 sent_data_size)
MCAPI void $OnStateChange()
MCAPI bool $IsOkToCallOnTheNetworkThread()
MCAPI void $OnMessage(::webrtc::DataBuffer const &buffer)
MCAPI void SetDelegate(::webrtc::DataChannelObserver *delegate)
static MCAPI void ** $vftable()
MCAPI void OnClosingProcedureStartedRemotely()
MCAPI void $UnregisterObserver()
static MCAPI void ** $vftable()
MCAPI void OnTransportChannelClosed(::webrtc::RTCError error)
MCAPI uint64 $bytes_sent() const
MCAPI void OnTransportReady()
MCAPI void SetSctpSid_n(::webrtc::StreamId sid)
MCAPI bool $ordered() const
MCAPI bool $reliable() const
MCAPI ushort $maxRetransmits() const
MCAPI void DeliverQueuedReceivedData()
MCAPI void MaybeSendOnBufferedAmountChanged()
MCAPI void OnClosingProcedureComplete()
MCAPI void * $ctor(::webrtc::InternalDataChannelInit const &config, ::rtc::WeakPtr<::webrtc::SctpDataChannelControllerInterface > controller, ::std::string const &label, bool connected_to_transport, ::rtc::Thread *signaling_thread, ::rtc::Thread *network_thread)
MCAPI uint64 $bytes_received() const
MCAPI uint $messages_received() const
MCAPI void SetState(::webrtc::DataChannelInterface::DataState state)
MCAPI::webrtc::DataChannelStats GetStats() const
MCAPI bool SendControlMessage(::rtc::CopyOnWriteBuffer const &buffer)
MCAPI::std::string $label() const
MCAPI::std::string $protocol() const
MCAPI ::std::optional< int > $maxPacketLifeTime() const
MCAPI uint $messages_sent() const
static MCAPI ::webrtc::scoped_refptr<::webrtc::DataChannelInterface > CreateProxy(::webrtc::scoped_refptr<::webrtc::SctpDataChannel > channel, ::webrtc::scoped_refptr<::webrtc::PendingTaskSafetyFlag > signaling_safety)
MCAPI void $RegisterObserver(::webrtc::DataChannelObserver *observer)
MCAPI uint64 $bytes_send_buffer() const
MCAPI bool $Send(::webrtc::DataBuffer const &buffer)
MCAPI bool $negotiated() const
MCAPI void OnBufferedAmountLow()
MCAPI::webrtc::RTCError SendImpl(::webrtc::DataBuffer buffer)
MCAPI uint64 $buffered_amount() const
MCAPI ushort $maxRetransmitTime() const
MCAPI void OnDataReceived(::webrtc::DataMessageType type, ::rtc::CopyOnWriteBuffer const &payload)
MCAPI void OnTransportChannelCreated()
MCAPI void CloseAbruptlyWithDataChannelFailure(::std::string const &message)
MCAPI::webrtc::RTCError $error() const
MCAPI::webrtc::DataChannelInterface::DataState $state() const
MCAPI ::std::optional< int > $maxRetransmitsOpt() const
MCAPI::webrtc::RTCError SendDataMessage(::webrtc::DataBuffer const &buffer, bool queue_if_blocked)
static MCAPI ::webrtc::scoped_refptr<::webrtc::SctpDataChannel > Create(::rtc::WeakPtr<::webrtc::SctpDataChannelControllerInterface > controller, ::std::string const &label, bool connected_to_transport, ::webrtc::InternalDataChannelInit const &config, ::rtc::Thread *signaling_thread, ::rtc::Thread *network_thread)
MCAPI::webrtc::Priority $priority() const
MCAPI void $SendAsync(::webrtc::DataBuffer buffer, ::absl::AnyInvocable< void(::webrtc::RTCError) && > on_complete)
MCAPI void CloseAbruptlyWithError(::webrtc::RTCError error)
Definition scoped_refptr.h:8
Definition DataBuffer.h:7
Definition DataChannelStats.h:7
Definition InternalDataChannelInit.h:10