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