46 enum class PortState :
int {
60 virtual void OnTurnCreatePermissionResult(
int) = 0;
62 virtual void OnTurnRefreshResult(
int) = 0;
64 virtual void OnTurnPortClosed() = 0;
107 TurnPort& operator=(TurnPort
const&);
108 TurnPort(TurnPort
const&);
114 virtual ~TurnPort() ;
116 virtual ::cricket::ProtocolType GetProtocol() const ;
118 virtual ::cricket::TlsCertPolicy GetTlsCertPolicy() const;
120 virtual
void SetTlsCertPolicy(::cricket::TlsCertPolicy tls_cert_policy);
122 virtual ::
std::vector<::
std::
string> GetTlsAlpnProtocols() const;
124 virtual ::
std::vector<::
std::
string> GetTlsEllipticCurves() const;
126 virtual
void PrepareAddress() ;
128 virtual ::cricket::
Connection* CreateConnection(
129 ::cricket::
Candidate const& remote_candidate,
136 ::rtc::SocketAddress const& addr,
137 ::rtc::PacketOptions const& options,
141 virtual
int SetOption(::rtc::Socket::
Option opt,
int value) ;
143 virtual
int GetOption(::rtc::Socket::
Option opt,
int* value) ;
145 virtual
int GetError() ;
148 HandleIncomingPacket(::rtc::AsyncPacketSocket* socket, ::rtc::ReceivedPacket const& packet) ;
150 virtual
bool CanHandleIncomingPacketsFrom(::rtc::SocketAddress const& addr) const ;
152 virtual
void SendBindingErrorResponse(
154 ::rtc::SocketAddress const& addr,
156 ::
std::string_view reason
159 virtual
void OnReadPacket(::rtc::AsyncPacketSocket* socket, ::rtc::ReceivedPacket const& packet);
161 virtual
void OnSentPacket(::rtc::AsyncPacketSocket* socket, ::rtc::SentPacket const& sent_packet) ;
163 virtual
void OnReadyToSend(::rtc::AsyncPacketSocket* socket);
165 virtual
bool SupportsProtocol(::
std::string_view protocol) const ;
167 virtual
void HandleConnectionDestroyed(::cricket::
Connection* conn) ;
169 virtual ::rtc::DiffServCodePoint StunDscpValue() const ;
186 ::rtc::SocketAddress const& remote_addr,
187 ::cricket::ProtocolType proto,
195 MCNAPI
void HandleChannelData(
int channel_id,
char const* data, uint64 size, int64 packet_time_us);
220 ::webrtc::TaskQueueBase* thread,
221 ::rtc::PacketSocketFactory* factory,
222 ::rtc::Network const* network,
223 ::
std::shared_ptr<::rtc::AsyncPacketSocket> socket,
224 ::
std::string_view username,
225 ::
std::string_view password,
229 ::
std::vector<::
std::
string> const& tls_alpn_protocols,
230 ::
std::vector<::
std::
string> const& tls_elliptic_curves,
231 ::webrtc::TurnCustomizer* customizer,
232 ::rtc::SSLCertificateVerifier* tls_cert_verifier,
233 ::webrtc::FieldTrialsView const* field_trials
237 ::webrtc::TaskQueueBase* thread,
238 ::rtc::PacketSocketFactory* factory,
239 ::rtc::Network const* network,
242 ::
std::string_view username,
243 ::
std::string_view password,
247 ::
std::vector<::
std::
string> const& tls_alpn_protocols,
248 ::
std::vector<::
std::
string> const& tls_elliptic_curves,
249 ::webrtc::TurnCustomizer* customizer,
250 ::rtc::SSLCertificateVerifier* tls_cert_verifier,
251 ::webrtc::FieldTrialsView const* field_trials
264 MCNAPI static
bool AllowedTurnPort(
int port, ::webrtc::FieldTrialsView const* field_trials);
266 MCNAPI static ::
std::unique_ptr<::cricket::TurnPort>
276 ::webrtc::TaskQueueBase* thread,
277 ::rtc::PacketSocketFactory* factory,
278 ::rtc::Network const* network,
279 ::
std::shared_ptr<::rtc::AsyncPacketSocket> socket,
280 ::
std::string_view username,
281 ::
std::string_view password,
285 ::
std::vector<::
std::
string> const& tls_alpn_protocols,
286 ::
std::vector<::
std::
string> const& tls_elliptic_curves,
287 ::webrtc::TurnCustomizer* customizer,
288 ::rtc::SSLCertificateVerifier* tls_cert_verifier,
289 ::webrtc::FieldTrialsView const* field_trials
293 ::webrtc::TaskQueueBase* thread,
294 ::rtc::PacketSocketFactory* factory,
295 ::rtc::Network const* network,
298 ::
std::string_view username,
299 ::
std::string_view password,
303 ::
std::vector<::
std::
string> const& tls_alpn_protocols,
304 ::
std::vector<::
std::
string> const& tls_elliptic_curves,
305 ::webrtc::TurnCustomizer* customizer,
306 ::rtc::SSLCertificateVerifier* tls_cert_verifier,
307 ::webrtc::FieldTrialsView const* field_trials
338 ::rtc::SocketAddress const& addr,
339 ::rtc::PacketOptions const& options,
355 ::rtc::SocketAddress const& addr,
357 ::
std::string_view reason
360 MCNAPI
void $OnReadPacket(::rtc::AsyncPacketSocket* socket, ::rtc::ReceivedPacket const& packet);
362 MCNAPI
void $OnSentPacket(::rtc::AsyncPacketSocket* socket, ::rtc::SentPacket const& sent_packet);
MCAPI void * $ctor(::webrtc::TaskQueueBase *thread, ::rtc::PacketSocketFactory *factory, ::rtc::Network const *network, ::std::shared_ptr<::rtc::AsyncPacketSocket > socket, ::std::string_view username, ::std::string_view password, ::cricket::ProtocolAddress const &server_address, ::cricket::RelayCredentials const &credentials, int server_priority, ::std::vector<::std::string > const &tls_alpn_protocols, ::std::vector<::std::string > const &tls_elliptic_curves, ::webrtc::TurnCustomizer *customizer, ::rtc::SSLCertificateVerifier *tls_cert_verifier, ::webrtc::FieldTrialsView const *field_trials)