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"
16namespace rtc {
class CopyOnWriteBuffer; }
17namespace rtc {
class Thread; }
18namespace webrtc {
class PendingTaskSafetyFlag; }
19namespace webrtc {
class RTCError; }
20namespace webrtc {
class SctpDataChannelControllerInterface; }
21namespace webrtc {
class StreamId; }
22namespace webrtc {
struct DataBuffer; }
23namespace webrtc {
struct DataChannelStats; }
24namespace webrtc {
struct InternalDataChannelInit; }
83 virtual void OnStateChange() ;
89 virtual void OnBufferedAmountChange(uint64 sent_data_size) ;
92 virtual bool IsOkToCallOnTheNetworkThread() ;
123 enum class HandshakeState :
int {
125 KHandshakeShouldSendOpen = 1,
126 KHandshakeShouldSendAck = 2,
127 KHandshakeWaitingForAck = 3,
174 virtual void UnregisterObserver() ;
177 virtual ::std::string label() const ;
180 virtual
bool reliable() const ;
183 virtual
bool ordered() const ;
186 virtual ushort maxRetransmitTime() const ;
189 virtual ushort maxRetransmits() const ;
192 virtual ::
std::optional<
int> maxPacketLifeTime() const ;
195 virtual ::
std::optional<
int> maxRetransmitsOpt() const ;
198 virtual ::
std::
string protocol() const ;
201 virtual
bool negotiated() const ;
204 virtual
int id() const ;
207 virtual ::webrtc::Priority priority() const ;
210 virtual uint64 buffered_amount() const ;
213 virtual
void Close() ;
219 virtual ::webrtc::
RTCError error() const ;
222 virtual uint messages_sent() const ;
225 virtual uint64 bytes_sent() const ;
228 virtual uint messages_received() const ;
231 virtual uint64 bytes_received() const ;
234 virtual uint64 bytes_send_buffer() const ;
266 MCNAPI
void OnDataReceived(::webrtc::DataMessageType type, ::rtc::CopyOnWriteBuffer const& payload);
277 ::
std::
string const& label,
278 bool connected_to_transport,
279 ::rtc::Thread* signaling_thread,
280 ::rtc::Thread* network_thread
301 ::
std::
string const& label,
302 bool connected_to_transport,
304 ::rtc::Thread* signaling_thread,
305 ::rtc::Thread* network_thread
320 ::
std::
string const& label,
321 bool connected_to_transport,
322 ::rtc::Thread* signaling_thread,
323 ::rtc::Thread* network_thread
Definition DataChannelInterface.h:19
Definition DataChannelObserver.h:12
Definition PendingTaskSafetyFlag.h:16
Definition SctpDataChannelControllerInterface.h:19
Definition SctpDataChannel.h:45
Definition SctpDataChannel.h:37
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()
Definition SctpDataChannel.h:29
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)
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