47 enum class PortState :
int {
63 virtual void OnTurnCreatePermissionResult(
int) = 0;
66 virtual void OnTurnRefreshResult(
int) = 0;
69 virtual void OnTurnPortClosed() = 0;
123 virtual ::cricket::ProtocolType GetProtocol() const ;
126 virtual ::cricket::TlsCertPolicy GetTlsCertPolicy() const;
129 virtual
void SetTlsCertPolicy(::cricket::TlsCertPolicy tls_cert_policy);
132 virtual ::
std::vector<::
std::
string> GetTlsAlpnProtocols() const;
135 virtual ::
std::vector<::
std::
string> GetTlsEllipticCurves() const;
138 virtual
void PrepareAddress() ;
141 virtual ::cricket::
Connection* CreateConnection(
142 ::cricket::
Candidate const& remote_candidate,
150 ::rtc::SocketAddress const& addr,
151 ::rtc::PacketOptions const& options,
156 virtual
int SetOption(::rtc::Socket::
Option opt,
int value) ;
159 virtual
int GetOption(::rtc::Socket::
Option opt,
int* value) ;
162 virtual
int GetError() ;
166 HandleIncomingPacket(::rtc::AsyncPacketSocket* socket, ::rtc::ReceivedPacket const& packet) ;
169 virtual
bool CanHandleIncomingPacketsFrom(::rtc::SocketAddress const& addr) const ;
172 virtual
void SendBindingErrorResponse(
174 ::rtc::SocketAddress const& addr,
176 ::
std::string_view reason
180 virtual
void OnReadPacket(::rtc::AsyncPacketSocket* socket, ::rtc::ReceivedPacket const& packet);
183 virtual
void OnSentPacket(::rtc::AsyncPacketSocket* socket, ::rtc::SentPacket const& sent_packet) ;
186 virtual
void OnReadyToSend(::rtc::AsyncPacketSocket* socket);
189 virtual
bool SupportsProtocol(::
std::string_view protocol) const ;
192 virtual
void HandleConnectionDestroyed(::cricket::
Connection* conn) ;
195 virtual ::rtc::DiffServCodePoint StunDscpValue() const ;
212 ::rtc::SocketAddress const& remote_addr,
213 ::cricket::ProtocolType proto,
225 MCNAPI
void HandleChannelData(
int channel_id,
char const* data, uint64 size, int64 packet_time_us);
241 MCNAPI
void OnAllocateSuccess(::rtc::SocketAddress const& address, ::rtc::SocketAddress const& stun_address);
261 MCNAPI
int Send(
void const* data, uint64 len, ::rtc::PacketOptions const& options);
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
322 MCNAPI static
bool AllowedTurnPort(
int port, ::webrtc::FieldTrialsView const* field_trials);
324 MCNAPI static ::
std::unique_ptr<::cricket::
TurnPort>
334 ::webrtc::TaskQueueBase* thread,
335 ::rtc::PacketSocketFactory* factory,
336 ::rtc::Network const* network,
337 ::
std::shared_ptr<::rtc::AsyncPacketSocket> socket,
338 ::
std::string_view username,
339 ::
std::string_view password,
343 ::
std::vector<::
std::
string> const& tls_alpn_protocols,
344 ::
std::vector<::
std::
string> const& tls_elliptic_curves,
345 ::webrtc::TurnCustomizer* customizer,
346 ::rtc::SSLCertificateVerifier* tls_cert_verifier,
347 ::webrtc::FieldTrialsView const* field_trials
351 ::webrtc::TaskQueueBase* thread,
352 ::rtc::PacketSocketFactory* factory,
353 ::rtc::Network const* network,
356 ::
std::string_view username,
357 ::
std::string_view password,
361 ::
std::vector<::
std::
string> const& tls_alpn_protocols,
362 ::
std::vector<::
std::
string> const& tls_elliptic_curves,
363 ::webrtc::TurnCustomizer* customizer,
364 ::rtc::SSLCertificateVerifier* tls_cert_verifier,
365 ::webrtc::FieldTrialsView const* field_trials
396 ::rtc::SocketAddress const& addr,
397 ::rtc::PacketOptions const& options,
413 ::rtc::SocketAddress const& addr,
415 ::
std::string_view reason
418 MCNAPI
void $OnReadPacket(::rtc::AsyncPacketSocket* socket, ::rtc::ReceivedPacket const& packet);
420 MCNAPI
void $OnSentPacket(::rtc::AsyncPacketSocket* socket, ::rtc::SentPacket const& sent_packet);