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