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/webrtc/DiffServCodePoint.h"
7#include "mc/external/webrtc/IceCandidateType.h"
8#include "mc/external/webrtc/Port.h"
9#include "mc/external/webrtc/PortInterface.h"
10#include "mc/external/webrtc/ProtocolType.h"
11#include "mc/external/webrtc/Socket.h"
12
13// auto generated forward declare list
14// clang-format off
15namespace webrtc { class AsyncDnsResolverInterface; }
16namespace webrtc { class AsyncPacketSocket; }
17namespace webrtc { class Candidate; }
18namespace webrtc { class Connection; }
19namespace webrtc { class FieldTrialsView; }
20namespace webrtc { class ReceivedIpPacket; }
21namespace webrtc { class SocketAddress; }
22namespace webrtc { class StunRequest; }
23namespace webrtc { class StunStats; }
24namespace webrtc { class TimeDelta; }
25namespace webrtc { struct AsyncSocketPacketOptions; }
26namespace webrtc { struct SentPacketInfo; }
27// clang-format on
28
29namespace webrtc {
30
31class UDPPort : public ::webrtc::Port {
32public:
33 // UDPPort inner types declare
34 // clang-format off
35 class AddressResolver;
36 // clang-format on
37
38 // UDPPort inner types define
39 class AddressResolver {
40 public:
41 // member variables
42 // NOLINTBEGIN
46 // NOLINTEND
47
48 public:
49 // prevent constructor by default
50 AddressResolver& operator=(AddressResolver const&);
51 AddressResolver(AddressResolver const&);
52 AddressResolver();
53
54 public:
55 // member functions
56 // NOLINTBEGIN
57 MCNAPI void Resolve(::webrtc::SocketAddress const& address, int family, ::webrtc::FieldTrialsView const&);
58 // NOLINTEND
59 };
60
61public:
62 // member variables
63 // NOLINTBEGIN
80 // NOLINTEND
81
82public:
83 // prevent constructor by default
84 UDPPort& operator=(UDPPort const&);
85 UDPPort(UDPPort const&);
86 UDPPort();
87
88public:
89 // virtual functions
90 // NOLINTBEGIN
91 virtual ~UDPPort() /*override*/;
92
93 virtual void PrepareAddress() /*override*/;
94
95 virtual ::webrtc::Connection*
96 CreateConnection(::webrtc::Candidate const& address, ::webrtc::PortInterface::CandidateOrigin) /*override*/;
97
98 virtual int SetOption(::webrtc::Socket::Option opt, int value) /*override*/;
99
100 virtual int GetOption(::webrtc::Socket::Option opt, int* value) /*override*/;
101
102 virtual int GetError() /*override*/;
103
104 virtual bool
105 HandleIncomingPacket(::webrtc::AsyncPacketSocket* socket, ::webrtc::ReceivedIpPacket const& packet) /*override*/;
106
107 virtual bool SupportsProtocol(::std::string_view protocol) const /*override*/;
108
109 virtual ::webrtc::ProtocolType GetProtocol() const /*override*/;
110
111 virtual void GetStunStats(::std::optional<::webrtc::StunStats>* stats) /*override*/;
112
113 virtual int SendTo(
114 void const* data,
115 uint64 size,
116 ::webrtc::SocketAddress const& addr,
117 ::webrtc::AsyncSocketPacketOptions const& options,
118 bool
119 ) /*override*/;
120
121 virtual void UpdateNetworkCost() /*override*/;
122
123 virtual ::webrtc::DiffServCodePoint StunDscpValue() const /*override*/;
124
125 virtual void PostAddAddress(bool is_final) /*override*/;
126
127 virtual void OnSentPacket(::webrtc::AsyncPacketSocket*, ::webrtc::SentPacketInfo const& sent_packet) /*override*/;
128 // NOLINTEND
129
130public:
131 // member functions
132 // NOLINTBEGIN
133 MCNAPI bool Init();
134
135 MCNAPI bool MaybeSetDefaultLocalAddress(::webrtc::SocketAddress* addr) const;
136
138
139 MCNAPI void OnLocalAddressReady(::webrtc::AsyncPacketSocket*, ::webrtc::SocketAddress const& address);
140
141 MCNAPI void OnReadPacket(::webrtc::AsyncPacketSocket* socket, ::webrtc::ReceivedIpPacket const& packet);
142
143 MCNAPI void OnReadyToSend(::webrtc::AsyncPacketSocket*);
144
145 MCNAPI void OnResolveResult(::webrtc::SocketAddress const& input, int error);
146
147 MCNAPI void OnSendPacket(void const* data, uint64 size, ::webrtc::StunRequest* req);
148
150 ::webrtc::SocketAddress const& stun_server_addr,
151 int error_code,
152 ::std::string_view reason
153 );
154
156 ::webrtc::TimeDelta rtt,
157 ::webrtc::SocketAddress const& stun_server_addr,
158 ::webrtc::SocketAddress const& stun_reflected_addr
159 );
160
161 MCNAPI void ResolveStunAddress(::webrtc::SocketAddress const& stun_addr);
162
163 MCNAPI void SendStunBindingRequest(::webrtc::SocketAddress const& stun_addr);
164
166
167 MCNAPI UDPPort(
168 ::webrtc::Port::PortParametersRef const& args,
169 ::webrtc::IceCandidateType type,
170 ::std::shared_ptr<::webrtc::AsyncPacketSocket> socket,
171 bool emit_local_for_anyaddress
172 );
173
174 MCNAPI UDPPort(
175 ::webrtc::Port::PortParametersRef const& args,
176 ::webrtc::IceCandidateType type,
177 ushort min_port,
178 ushort max_port,
179 bool emit_local_for_anyaddress
180 );
181
182 MCNAPI void set_stun_keepalive_delay(::std::optional<int> const& delay);
183 // NOLINTEND
184
185public:
186 // constructor thunks
187 // NOLINTBEGIN
188 MCNAPI void* $ctor(
189 ::webrtc::Port::PortParametersRef const& args,
190 ::webrtc::IceCandidateType type,
191 ::std::shared_ptr<::webrtc::AsyncPacketSocket> socket,
192 bool emit_local_for_anyaddress
193 );
194
195 MCNAPI void* $ctor(
196 ::webrtc::Port::PortParametersRef const& args,
197 ::webrtc::IceCandidateType type,
198 ushort min_port,
199 ushort max_port,
200 bool emit_local_for_anyaddress
201 );
202 // NOLINTEND
203
204public:
205 // destructor thunk
206 // NOLINTBEGIN
207 MCNAPI void $dtor();
208 // NOLINTEND
209
210public:
211 // virtual function thunks
212 // NOLINTBEGIN
213 MCNAPI void $PrepareAddress();
214
215 MCNAPI ::webrtc::Connection*
216 $CreateConnection(::webrtc::Candidate const& address, ::webrtc::PortInterface::CandidateOrigin);
217
218 MCNAPI int $SetOption(::webrtc::Socket::Option opt, int value);
219
220 MCNAPI int $GetOption(::webrtc::Socket::Option opt, int* value);
221
222 MCNAPI int $GetError();
223
224 MCNAPI bool $HandleIncomingPacket(::webrtc::AsyncPacketSocket* socket, ::webrtc::ReceivedIpPacket const& packet);
225
226 MCNAPI bool $SupportsProtocol(::std::string_view protocol) const;
227
228 MCNAPI ::webrtc::ProtocolType $GetProtocol() const;
229
230 MCNAPI void $GetStunStats(::std::optional<::webrtc::StunStats>* stats);
231
232 MCNAPI int $SendTo(
233 void const* data,
234 uint64 size,
235 ::webrtc::SocketAddress const& addr,
236 ::webrtc::AsyncSocketPacketOptions const& options,
237 bool
238 );
239
240 MCNAPI void $UpdateNetworkCost();
241
242 MCNAPI ::webrtc::DiffServCodePoint $StunDscpValue() const;
243
244 MCNAPI void $PostAddAddress(bool is_final);
245
246 MCNAPI void $OnSentPacket(::webrtc::AsyncPacketSocket*, ::webrtc::SentPacketInfo const& sent_packet);
247
248
249 // NOLINTEND
250
251public:
252 // vftables
253 // NOLINTBEGIN
254 MCNAPI static void** $vftableForPortInterface();
255
256 MCNAPI static void** $vftableForHasSlots();
257 // NOLINTEND
258};
259
260} // namespace webrtc
Definition Option.h:22
Definition AsyncDnsResolverInterface.h:16
Definition AsyncPacketSocket.h:20
Definition Candidate.h:15
Definition Connection.h:35
Definition FieldTrialsView.h:7
Definition PortInterface.h:29
Definition Port.h:37
Definition ReceivedIpPacket.h:17
Definition SocketAddress.h:15
Definition Socket.h:12
Definition StunRequest.h:15
Definition StunStats.h:7
Definition TimeDelta.h:10
Definition UDPPort.h:39
MCAPI void Resolve(::webrtc::SocketAddress const &address, int family, ::webrtc::FieldTrialsView const &)
MCAPI void ResolveStunAddress(::webrtc::SocketAddress const &stun_addr)
MCAPI void $GetStunStats(::std::optional<::webrtc::StunStats > *stats)
MCAPI int $GetOption(::webrtc::Socket::Option opt, int *value)
static MCAPI void ** $vftableForHasSlots()
MCAPI void SendStunBindingRequest(::webrtc::SocketAddress const &stun_addr)
MCAPI void OnResolveResult(::webrtc::SocketAddress const &input, int error)
MCAPI::webrtc::Connection * $CreateConnection(::webrtc::Candidate const &address, ::webrtc::PortInterface::CandidateOrigin)
MCAPI::webrtc::ProtocolType $GetProtocol() const
MCAPI void $PrepareAddress()
MCAPI void * $ctor(::webrtc::Port::PortParametersRef const &args, ::webrtc::IceCandidateType type, ::std::shared_ptr<::webrtc::AsyncPacketSocket > socket, bool emit_local_for_anyaddress)
MCAPI bool Init()
MCAPI void OnReadyToSend(::webrtc::AsyncPacketSocket *)
MCAPI void SendStunBindingRequests()
MCAPI::webrtc::DiffServCodePoint $StunDscpValue() const
MCAPI void OnLocalAddressReady(::webrtc::AsyncPacketSocket *, ::webrtc::SocketAddress const &address)
MCAPI int $SetOption(::webrtc::Socket::Option opt, int value)
MCAPI bool $HandleIncomingPacket(::webrtc::AsyncPacketSocket *socket, ::webrtc::ReceivedIpPacket const &packet)
MCAPI int $SendTo(void const *data, uint64 size, ::webrtc::SocketAddress const &addr, ::webrtc::AsyncSocketPacketOptions const &options, bool)
MCAPI void $dtor()
MCAPI void $PostAddAddress(bool is_final)
MCAPI void OnStunBindingRequestSucceeded(::webrtc::TimeDelta rtt, ::webrtc::SocketAddress const &stun_server_addr, ::webrtc::SocketAddress const &stun_reflected_addr)
MCAPI void $OnSentPacket(::webrtc::AsyncPacketSocket *, ::webrtc::SentPacketInfo const &sent_packet)
MCAPI bool $SupportsProtocol(::std::string_view protocol) const
MCAPI void MaybeSetPortCompleteOrError()
MCAPI void OnReadPacket(::webrtc::AsyncPacketSocket *socket, ::webrtc::ReceivedIpPacket const &packet)
MCAPI int $GetError()
MCAPI void OnSendPacket(void const *data, uint64 size, ::webrtc::StunRequest *req)
MCAPI bool MaybeSetDefaultLocalAddress(::webrtc::SocketAddress *addr) const
static MCAPI void ** $vftableForPortInterface()
MCAPI void set_stun_keepalive_delay(::std::optional< int > const &delay)
MCAPI void $UpdateNetworkCost()
MCAPI void OnStunBindingOrResolveRequestFailed(::webrtc::SocketAddress const &stun_server_addr, int error_code, ::std::string_view reason)
STL namespace.
Definition Alias.h:14
Definition AsyncSocketPacketOptions.h:10
Definition SentPacketInfo.h:12