LeviLamina
Loading...
Searching...
No Matches
DcSctpTransport.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/cricket/SctpTransportInternal.h"
7#include "mc/external/dcsctp/DcSctpSocketCallbacks.h"
8#include "mc/external/dcsctp/ErrorKind.h"
9#include "mc/external/dcsctp/SendPacketStatus.h"
10#include "mc/external/sigslot/has_slots.h"
11#include "mc/external/sigslot/single_threaded.h"
12#include "mc/external/webrtc/StrongAlias.h"
13#include "mc/external/webrtc/TaskQueueBase.h"
14
15// auto generated forward declare list
16// clang-format off
17namespace dcsctp { class DcSctpMessage; }
18namespace dcsctp { class DcSctpSocketFactory; }
19namespace dcsctp { class StreamIDTag; }
20namespace dcsctp { class TimeMs; }
21namespace dcsctp { class Timeout; }
22namespace rtc { class CopyOnWriteBuffer; }
23namespace rtc { class PacketTransportInternal; }
24namespace rtc { class Thread; }
25namespace webrtc { class DataChannelSink; }
26namespace webrtc { class Environment; }
27namespace webrtc { class RTCError; }
28namespace webrtc { struct SendDataParams; }
29// clang-format on
30
31namespace webrtc {
32
33class DcSctpTransport : public ::cricket::SctpTransportInternal,
35 public ::sigslot::has_slots<::sigslot::single_threaded> {
36public:
37 // DcSctpTransport inner types declare
38 // clang-format off
39 struct StreamState;
40 // clang-format on
41
42 // DcSctpTransport inner types define
43 struct StreamState {
44 public:
45 // member variables
46 // NOLINTBEGIN
50 // NOLINTEND
51
52 public:
53 // prevent constructor by default
54 StreamState& operator=(StreamState const&);
55 StreamState(StreamState const&);
56 StreamState();
57 };
58
59public:
60 // member variables
61 // NOLINTBEGIN
75 // NOLINTEND
76
77public:
78 // prevent constructor by default
79 DcSctpTransport& operator=(DcSctpTransport const&);
80 DcSctpTransport(DcSctpTransport const&);
81 DcSctpTransport();
82
83public:
84 // virtual functions
85 // NOLINTBEGIN
86 virtual ~DcSctpTransport() /*override*/;
87
88 virtual void SetOnConnectedCallback(::std::function<void()> callback) /*override*/;
89
90 virtual void SetDataChannelSink(::webrtc::DataChannelSink* sink) /*override*/;
91
92 virtual void SetDtlsTransport(::rtc::PacketTransportInternal* transport) /*override*/;
93
94 virtual bool Start(int local_sctp_port, int remote_sctp_port, int max_message_size) /*override*/;
95
96 virtual bool OpenStream(int sid) /*override*/;
97
98 virtual bool ResetStream(int sid) /*override*/;
99
100 virtual ::webrtc::RTCError
101 SendData(int sid, ::webrtc::SendDataParams const& params, ::rtc::CopyOnWriteBuffer const& payload) /*override*/;
102
103 virtual bool ReadyToSendData() /*override*/;
104
105 virtual int max_message_size() const /*override*/;
106
107 virtual ::std::optional<int> max_outbound_streams() const /*override*/;
108
109 virtual ::std::optional<int> max_inbound_streams() const /*override*/;
110
111 virtual uint64 buffered_amount(int sid) const /*override*/;
112
113 virtual uint64 buffered_amount_low_threshold(int sid) const /*override*/;
114
115 virtual void SetBufferedAmountLowThreshold(int sid, uint64 bytes) /*override*/;
116
117 virtual void set_debug_name_for_testing(char const* debug_name) /*override*/;
118
119 virtual ::dcsctp::SendPacketStatus SendPacketWithStatus(::rtc::ArrayView<uchar const> data) /*override*/;
120
121 virtual ::std::unique_ptr<::dcsctp::Timeout>
122 CreateTimeout(::webrtc::TaskQueueBase::DelayPrecision precision) /*override*/;
123
124 virtual ::dcsctp::TimeMs TimeMillis() /*override*/;
125
126 virtual uint GetRandomInt(uint low, uint high) /*override*/;
127
128 virtual void OnTotalBufferedAmountLow() /*override*/;
129
130 virtual void OnBufferedAmountLow(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) /*override*/;
131
132 virtual void OnMessageReceived(::dcsctp::DcSctpMessage message) /*override*/;
133
134 virtual void OnError(::dcsctp::ErrorKind error, ::std::string_view message) /*override*/;
135
136 virtual void OnAborted(::dcsctp::ErrorKind error, ::std::string_view message) /*override*/;
137
138 virtual void OnConnected() /*override*/;
139
140 virtual void OnClosed() /*override*/;
141
142 virtual void OnConnectionRestarted() /*override*/;
143
144 virtual void OnStreamsResetFailed(
145 ::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> const> outgoing_streams,
146 ::std::string_view reason
147 ) /*override*/;
148
149 virtual void OnStreamsResetPerformed(
150 ::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> const> outgoing_streams
151 ) /*override*/;
152
153 virtual void OnIncomingStreamsReset(
154 ::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> const> incoming_streams
155 ) /*override*/;
156 // NOLINTEND
157
158public:
159 // member functions
160 // NOLINTBEGIN
162
163 MCNAPI DcSctpTransport(
164 ::webrtc::Environment const& env,
165 ::rtc::Thread* network_thread,
166 ::rtc::PacketTransportInternal* transport
167 );
168
169 MCNAPI DcSctpTransport(
170 ::webrtc::Environment const& env,
171 ::rtc::Thread* network_thread,
172 ::rtc::PacketTransportInternal* transport,
173 ::std::unique_ptr<::dcsctp::DcSctpSocketFactory> socket_factory
174 );
175
176 MCNAPI void MaybeConnectSocket();
177
178 MCNAPI void OnTransportWritableState(::rtc::PacketTransportInternal* transport);
179 // NOLINTEND
180
181public:
182 // constructor thunks
183 // NOLINTBEGIN
184 MCNAPI void*
185 $ctor(::webrtc::Environment const& env, ::rtc::Thread* network_thread, ::rtc::PacketTransportInternal* transport);
186
187 MCNAPI void* $ctor(
188 ::webrtc::Environment const& env,
189 ::rtc::Thread* network_thread,
190 ::rtc::PacketTransportInternal* transport,
191 ::std::unique_ptr<::dcsctp::DcSctpSocketFactory> socket_factory
192 );
193 // NOLINTEND
194
195public:
196 // destructor thunk
197 // NOLINTBEGIN
198 MCNAPI void $dtor();
199 // NOLINTEND
200
201public:
202 // virtual function thunks
203 // NOLINTBEGIN
204 MCNAPI void $SetOnConnectedCallback(::std::function<void()> callback);
205
206 MCNAPI void $SetDataChannelSink(::webrtc::DataChannelSink* sink);
207
208 MCNAPI void $SetDtlsTransport(::rtc::PacketTransportInternal* transport);
209
210 MCNAPI bool $Start(int local_sctp_port, int remote_sctp_port, int max_message_size);
211
212 MCNAPI bool $OpenStream(int sid);
213
214 MCNAPI bool $ResetStream(int sid);
215
216 MCNAPI ::webrtc::RTCError
217 $SendData(int sid, ::webrtc::SendDataParams const& params, ::rtc::CopyOnWriteBuffer const& payload);
218
219 MCNAPI bool $ReadyToSendData();
220
221 MCNAPI int $max_message_size() const;
222
223 MCNAPI ::std::optional<int> $max_outbound_streams() const;
224
225 MCNAPI ::std::optional<int> $max_inbound_streams() const;
226
227 MCNAPI uint64 $buffered_amount(int sid) const;
228
229 MCNAPI uint64 $buffered_amount_low_threshold(int sid) const;
230
231 MCNAPI void $SetBufferedAmountLowThreshold(int sid, uint64 bytes);
232
233 MCNAPI void $set_debug_name_for_testing(char const* debug_name);
234
235 MCNAPI ::dcsctp::SendPacketStatus $SendPacketWithStatus(::rtc::ArrayView<uchar const> data);
236
237 MCNAPI ::std::unique_ptr<::dcsctp::Timeout> $CreateTimeout(::webrtc::TaskQueueBase::DelayPrecision precision);
238
239 MCNAPI ::dcsctp::TimeMs $TimeMillis();
240
241 MCNAPI uint $GetRandomInt(uint low, uint high);
242
244
245 MCNAPI void $OnBufferedAmountLow(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id);
246
247 MCNAPI void $OnMessageReceived(::dcsctp::DcSctpMessage message);
248
249 MCNAPI void $OnError(::dcsctp::ErrorKind error, ::std::string_view message);
250
251 MCNAPI void $OnAborted(::dcsctp::ErrorKind error, ::std::string_view message);
252
253 MCNAPI void $OnConnected();
254
255 MCNAPI void $OnClosed();
256
258
260 ::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> const> outgoing_streams,
261 ::std::string_view reason
262 );
263
265 ::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> const> outgoing_streams
266 );
267
269 ::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> const> incoming_streams
270 );
271
272
273 // NOLINTEND
274
275public:
276 // vftables
277 // NOLINTBEGIN
278 MCNAPI static void** $vftableForHasSlots();
279
280 MCNAPI static void** $vftableForSctpTransportInternal();
281
282 MCNAPI static void** $vftableForDcSctpSocketCallbacks();
283 // NOLINTEND
284};
285
286} // namespace webrtc
Definition SctpTransportInternal.h:16
Definition DcSctpMessage.h:16
Definition DcSctpSocketCallbacks.h:23
Definition DcSctpSocketFactory.h:15
Definition StreamIDTag.h:7
Definition TimeMs.h:15
Definition Timeout.h:16
Definition CopyOnWriteBuffer.h:11
Definition PacketTransportInternal.h:20
Definition Thread.h:20
Definition has_slots.h:8
Definition DataChannelSink.h:16
MCAPI::dcsctp::TimeMs $TimeMillis()
MCAPI void * $ctor(::webrtc::Environment const &env, ::rtc::Thread *network_thread, ::rtc::PacketTransportInternal *transport)
MCAPI void ConnectTransportSignals()
MCAPI::dcsctp::SendPacketStatus $SendPacketWithStatus(::rtc::ArrayView< uchar const > data)
MCAPI uint $GetRandomInt(uint low, uint high)
MCAPI void $OnTotalBufferedAmountLow()
MCAPI bool $OpenStream(int sid)
static MCAPI void ** $vftableForHasSlots()
MCAPI void $OnBufferedAmountLow(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id)
MCAPI void $OnMessageReceived(::dcsctp::DcSctpMessage message)
MCAPI void $OnStreamsResetPerformed(::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > const > outgoing_streams)
MCAPI void $OnConnectionRestarted()
static MCAPI void ** $vftableForDcSctpSocketCallbacks()
MCAPI uint64 $buffered_amount_low_threshold(int sid) const
MCAPI void $OnError(::dcsctp::ErrorKind error, ::std::string_view message)
MCAPI void $SetOnConnectedCallback(::std::function< void()> callback)
MCAPI void OnTransportWritableState(::rtc::PacketTransportInternal *transport)
MCAPI void $SetDtlsTransport(::rtc::PacketTransportInternal *transport)
MCAPI bool $Start(int local_sctp_port, int remote_sctp_port, int max_message_size)
MCAPI void $OnConnected()
MCAPI void $set_debug_name_for_testing(char const *debug_name)
MCAPI ::std::optional< int > $max_outbound_streams() const
static MCAPI void ** $vftableForSctpTransportInternal()
MCAPI bool $ReadyToSendData()
MCAPI ::std::optional< int > $max_inbound_streams() const
MCAPI bool $ResetStream(int sid)
MCAPI void $OnIncomingStreamsReset(::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > const > incoming_streams)
MCAPI void $SetBufferedAmountLowThreshold(int sid, uint64 bytes)
MCAPI int $max_message_size() const
MCAPI ::std::unique_ptr<::dcsctp::Timeout > $CreateTimeout(::webrtc::TaskQueueBase::DelayPrecision precision)
MCAPI void $OnAborted(::dcsctp::ErrorKind error, ::std::string_view message)
MCAPI void $OnStreamsResetFailed(::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > const > outgoing_streams, ::std::string_view reason)
MCAPI void $SetDataChannelSink(::webrtc::DataChannelSink *sink)
MCAPI uint64 $buffered_amount(int sid) const
MCAPI::webrtc::RTCError $SendData(int sid, ::webrtc::SendDataParams const &params, ::rtc::CopyOnWriteBuffer const &payload)
MCAPI void MaybeConnectSocket()
Definition Environment.h:7
Definition RTCError.h:10
Definition StrongAlias.h:8
Definition TaskQueueBase.h:16
STL namespace.
Definition Alias.h:14
Definition DcSctpTransport.h:43
Definition SendDataParams.h:7