LeviLamina
Loading...
Searching...
No Matches
UDPPort.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/cricket/Port.h"
7#include "mc/external/cricket/PortInterface.h"
8#include "mc/external/cricket/ProtocolType.h"
9#include "mc/external/rtc/DiffServCodePoint.h"
10#include "mc/external/rtc/Socket.h"
11#include "mc/external/webrtc/IceCandidateType.h"
12
13// auto generated forward declare list
14// clang-format off
15namespace cricket { class Candidate; }
16namespace cricket { class Connection; }
17namespace cricket { class StunRequest; }
18namespace cricket { class StunStats; }
19namespace rtc { class AsyncPacketSocket; }
20namespace rtc { class Network; }
21namespace rtc { class PacketSocketFactory; }
22namespace rtc { class ReceivedPacket; }
23namespace rtc { class SocketAddress; }
24namespace rtc { class Thread; }
25namespace rtc { struct PacketOptions; }
26namespace rtc { struct SentPacket; }
27namespace webrtc { class AsyncDnsResolverInterface; }
28namespace webrtc { class FieldTrialsView; }
29// clang-format on
30
31namespace cricket {
32
33class UDPPort : public ::cricket::Port {
34public:
35 // UDPPort inner types declare
36 // clang-format off
37 class AddressResolver;
38 // clang-format on
39
40 // UDPPort inner types define
42 public:
43 // member variables
44 // NOLINTBEGIN
48 // NOLINTEND
49
50 public:
51 // prevent constructor by default
52 AddressResolver& operator=(AddressResolver const&);
55
56 public:
57 // member functions
58 // NOLINTBEGIN
61 ::std::function<void(::rtc::SocketAddress const&, int)> done_callback
62 );
63
64 MCNAPI bool
65 GetResolvedAddress(::rtc::SocketAddress const& input, int family, ::rtc::SocketAddress* output) const;
66
67 MCNAPI void
68 Resolve(::rtc::SocketAddress const& address, int family, ::webrtc::FieldTrialsView const& field_trials);
69 // NOLINTEND
70
71 public:
72 // constructor thunks
73 // NOLINTBEGIN
74 MCNAPI void* $ctor(
76 ::std::function<void(::rtc::SocketAddress const&, int)> done_callback
77 );
78 // NOLINTEND
79 };
80
81public:
82 // member variables
83 // NOLINTBEGIN
100 // NOLINTEND
101
102public:
103 // prevent constructor by default
104 UDPPort& operator=(UDPPort const&);
105 UDPPort(UDPPort const&);
106 UDPPort();
107
108public:
109 // virtual functions
110 // NOLINTBEGIN
111 // vIndex: 0
112 virtual ~UDPPort() /*override*/;
113
114 // vIndex: 9
115 virtual void PrepareAddress() /*override*/;
116
117 // vIndex: 11
118 virtual ::cricket::Connection* CreateConnection(
119 ::cricket::Candidate const& address,
120 ::cricket::PortInterface::CandidateOrigin origin
121 ) /*override*/;
122
123 // vIndex: 12
124 virtual int SetOption(::rtc::Socket::Option opt, int value) /*override*/;
125
126 // vIndex: 13
127 virtual int GetOption(::rtc::Socket::Option opt, int* value) /*override*/;
128
129 // vIndex: 14
130 virtual int GetError() /*override*/;
131
132 // vIndex: 41
133 virtual bool
134 HandleIncomingPacket(::rtc::AsyncPacketSocket* socket, ::rtc::ReceivedPacket const& packet) /*override*/;
135
136 // vIndex: 8
137 virtual bool SupportsProtocol(::std::string_view protocol) const /*override*/;
138
139 // vIndex: 15
140 virtual ::cricket::ProtocolType GetProtocol() const /*override*/;
141
142 // vIndex: 22
143 virtual void GetStunStats(::std::optional<::cricket::StunStats>* stats) /*override*/;
144
145 // vIndex: 17
146 virtual int SendTo(
147 void const* data,
148 uint64 size,
149 ::rtc::SocketAddress const& addr,
150 ::rtc::PacketOptions const& options,
151 bool payload
152 ) /*override*/;
153
154 // vIndex: 34
155 virtual void UpdateNetworkCost() /*override*/;
156
157 // vIndex: 35
158 virtual ::rtc::DiffServCodePoint StunDscpValue() const /*override*/;
159
160 // vIndex: 44
161 virtual void PostAddAddress(bool is_final) /*override*/;
162
163 // vIndex: 43
164 virtual void OnSentPacket(::rtc::AsyncPacketSocket* socket, ::rtc::SentPacket const& sent_packet) /*override*/;
165 // NOLINTEND
166
167public:
168 // member functions
169 // NOLINTBEGIN
170 MCNAPI bool HasStunCandidateWithAddress(::rtc::SocketAddress const& addr) const;
171
172 MCNAPI bool Init();
173
175
176 MCNAPI bool MaybeSetDefaultLocalAddress(::rtc::SocketAddress* addr) const;
177
179
180 MCNAPI void OnLocalAddressReady(::rtc::AsyncPacketSocket* socket, ::rtc::SocketAddress const& address);
181
182 MCNAPI void OnReadPacket(::rtc::AsyncPacketSocket* socket, ::rtc::ReceivedPacket const& packet);
183
184 MCNAPI void OnReadyToSend(::rtc::AsyncPacketSocket* socket);
185
186 MCNAPI void OnResolveResult(::rtc::SocketAddress const& input, int error);
187
188 MCNAPI void OnSendPacket(void const* data, uint64 size, ::cricket::StunRequest* req);
189
191 ::rtc::SocketAddress const& stun_server_addr,
192 int error_code,
193 ::std::string_view reason
194 );
195
197 int rtt_ms,
198 ::rtc::SocketAddress const& stun_server_addr,
199 ::rtc::SocketAddress const& stun_reflected_addr
200 );
201
202 MCNAPI void ResolveStunAddress(::rtc::SocketAddress const& stun_addr);
203
204 MCNAPI void SendStunBindingRequest(::rtc::SocketAddress const& stun_addr);
205
207
208 MCNAPI UDPPort(
209 ::rtc::Thread* thread,
210 ::webrtc::IceCandidateType type,
211 ::rtc::PacketSocketFactory* factory,
212 ::rtc::Network const* network,
213 ::std::shared_ptr<::rtc::AsyncPacketSocket> socket,
214 ::std::string_view username,
215 ::std::string_view password,
216 bool emit_local_for_anyaddress,
217 ::webrtc::FieldTrialsView const* field_trials
218 );
219
220 MCNAPI UDPPort(
221 ::rtc::Thread* thread,
222 ::webrtc::IceCandidateType type,
223 ::rtc::PacketSocketFactory* factory,
224 ::rtc::Network const* network,
225 ushort min_port,
226 ushort max_port,
227 ::std::string_view username,
228 ::std::string_view password,
229 bool emit_local_for_anyaddress,
230 ::webrtc::FieldTrialsView const* field_trials
231 );
232
233 MCNAPI void set_stun_keepalive_delay(::std::optional<int> const& delay);
234 // NOLINTEND
235
236public:
237 // constructor thunks
238 // NOLINTBEGIN
239 MCNAPI void* $ctor(
240 ::rtc::Thread* thread,
241 ::webrtc::IceCandidateType type,
242 ::rtc::PacketSocketFactory* factory,
243 ::rtc::Network const* network,
244 ::std::shared_ptr<::rtc::AsyncPacketSocket> socket,
245 ::std::string_view username,
246 ::std::string_view password,
247 bool emit_local_for_anyaddress,
248 ::webrtc::FieldTrialsView const* field_trials
249 );
250
251 MCNAPI void* $ctor(
252 ::rtc::Thread* thread,
253 ::webrtc::IceCandidateType type,
254 ::rtc::PacketSocketFactory* factory,
255 ::rtc::Network const* network,
256 ushort min_port,
257 ushort max_port,
258 ::std::string_view username,
259 ::std::string_view password,
260 bool emit_local_for_anyaddress,
261 ::webrtc::FieldTrialsView const* field_trials
262 );
263 // NOLINTEND
264
265public:
266 // destructor thunk
267 // NOLINTBEGIN
268 MCNAPI void $dtor();
269 // NOLINTEND
270
271public:
272 // virtual function thunks
273 // NOLINTBEGIN
274 MCNAPI void $PrepareAddress();
275
276 MCNAPI ::cricket::Connection*
277 $CreateConnection(::cricket::Candidate const& address, ::cricket::PortInterface::CandidateOrigin origin);
278
279 MCNAPI int $SetOption(::rtc::Socket::Option opt, int value);
280
281 MCNAPI int $GetOption(::rtc::Socket::Option opt, int* value);
282
283 MCNAPI int $GetError();
284
285 MCNAPI bool $HandleIncomingPacket(::rtc::AsyncPacketSocket* socket, ::rtc::ReceivedPacket const& packet);
286
287 MCNAPI bool $SupportsProtocol(::std::string_view protocol) const;
288
289 MCNAPI ::cricket::ProtocolType $GetProtocol() const;
290
291 MCNAPI void $GetStunStats(::std::optional<::cricket::StunStats>* stats);
292
293 MCNAPI int $SendTo(
294 void const* data,
295 uint64 size,
296 ::rtc::SocketAddress const& addr,
297 ::rtc::PacketOptions const& options,
298 bool payload
299 );
300
301 MCNAPI void $UpdateNetworkCost();
302
303 MCNAPI ::rtc::DiffServCodePoint $StunDscpValue() const;
304
305 MCNAPI void $PostAddAddress(bool is_final);
306
307 MCNAPI void $OnSentPacket(::rtc::AsyncPacketSocket* socket, ::rtc::SentPacket const& sent_packet);
308 // NOLINTEND
309
310public:
311 // vftables
312 // NOLINTBEGIN
313 MCNAPI static void** $vftableForPortInterface();
314
315 MCNAPI static void** $vftableForHasSlots();
316 // NOLINTEND
317};
318
319} // namespace cricket
Definition Option.h:18
Definition Candidate.h:15
Definition Connection.h:38
Definition PortInterface.h:29
MCAPI void * $ctor()
Definition Port.h:36
MCAPI void OnReadyToSend()
Definition StunRequest.h:14
Definition StunStats.h:7
Definition UDPPort.h:41
MCAPI AddressResolver(::rtc::PacketSocketFactory *factory, ::std::function< void(::rtc::SocketAddress const &, int)> done_callback)
MCAPI void Resolve(::rtc::SocketAddress const &address, int family, ::webrtc::FieldTrialsView const &field_trials)
MCAPI bool GetResolvedAddress(::rtc::SocketAddress const &input, int family, ::rtc::SocketAddress *output) const
MCAPI void * $ctor(::rtc::PacketSocketFactory *factory, ::std::function< void(::rtc::SocketAddress const &, int)> done_callback)
Definition UDPPort.h:33
MCAPI void $PrepareAddress()
MCAPI void OnStunBindingRequestSucceeded(int rtt_ms, ::rtc::SocketAddress const &stun_server_addr, ::rtc::SocketAddress const &stun_reflected_addr)
MCAPI void $GetStunStats(::std::optional<::cricket::StunStats > *stats)
static MCAPI void ** $vftableForPortInterface()
MCAPI bool HasStunCandidateWithAddress(::rtc::SocketAddress const &addr) const
MCAPI void OnLocalAddressReady(::rtc::AsyncPacketSocket *socket, ::rtc::SocketAddress const &address)
MCAPI bool $HandleIncomingPacket(::rtc::AsyncPacketSocket *socket, ::rtc::ReceivedPacket const &packet)
MCAPI void $OnSentPacket(::rtc::AsyncPacketSocket *socket, ::rtc::SentPacket const &sent_packet)
MCAPI::cricket::Connection * $CreateConnection(::cricket::Candidate const &address, ::cricket::PortInterface::CandidateOrigin origin)
MCAPI void $UpdateNetworkCost()
static MCAPI void ** $vftableForHasSlots()
MCAPI bool MaybeSetDefaultLocalAddress(::rtc::SocketAddress *addr) const
MCAPI void $PostAddAddress(bool is_final)
MCAPI void SendStunBindingRequests()
MCAPI void MaybeSetPortCompleteOrError()
MCAPI void OnSendPacket(void const *data, uint64 size, ::cricket::StunRequest *req)
MCAPI::rtc::DiffServCodePoint $StunDscpValue() const
MCAPI int $SetOption(::rtc::Socket::Option opt, int value)
MCAPI void OnReadPacket(::rtc::AsyncPacketSocket *socket, ::rtc::ReceivedPacket const &packet)
MCAPI bool Init()
MCAPI bool $SupportsProtocol(::std::string_view protocol) const
MCAPI void $dtor()
MCAPI void OnResolveResult(::rtc::SocketAddress const &input, int error)
MCAPI void SendStunBindingRequest(::rtc::SocketAddress const &stun_addr)
MCAPI void set_stun_keepalive_delay(::std::optional< int > const &delay)
MCAPI::cricket::ProtocolType $GetProtocol() const
MCAPI void MaybePrepareStunCandidate()
MCAPI int $GetError()
MCAPI int $SendTo(void const *data, uint64 size, ::rtc::SocketAddress const &addr, ::rtc::PacketOptions const &options, bool payload)
MCAPI int $GetOption(::rtc::Socket::Option opt, int *value)
MCAPI void OnStunBindingOrResolveRequestFailed(::rtc::SocketAddress const &stun_server_addr, int error_code, ::std::string_view reason)
MCAPI void ResolveStunAddress(::rtc::SocketAddress const &stun_addr)
Definition AsyncPacketSocket.h:20
Definition PacketSocketFactory.h:17
Definition ReceivedPacket.h:16
Definition SocketAddress.h:12
Definition FieldTrialsView.h:7
STL namespace.
Definition Alias.h:14