3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/webrtc/DiffServCodePoint.h"
7#include "mc/external/webrtc/Port.h"
8#include "mc/external/webrtc/PortInterface.h"
9#include "mc/external/webrtc/ProtocolType.h"
10#include "mc/external/webrtc/Socket.h"
11#include "mc/external/webrtc/TlsCertPolicy.h"
42 enum class PortState :
int {
56 virtual void OnTurnCreatePermissionResult(
int) = 0;
58 virtual void OnTurnRefreshResult(
int) = 0;
60 virtual void OnTurnPortClosed() = 0;
97 TurnPort& operator=(TurnPort
const&);
98 TurnPort(TurnPort
const&);
104 virtual ~TurnPort() ;
106 virtual ::webrtc::ProtocolType GetProtocol() const ;
108 virtual ::webrtc::TlsCertPolicy GetTlsCertPolicy() const;
110 virtual
void SetTlsCertPolicy(::webrtc::TlsCertPolicy tls_cert_policy);
112 virtual ::
std::vector<::
std::
string> GetTlsAlpnProtocols() const;
114 virtual ::
std::vector<::
std::
string> GetTlsEllipticCurves() const;
116 virtual
void PrepareAddress() ;
118 virtual ::webrtc::
Connection* CreateConnection(
119 ::webrtc::
Candidate const& remote_candidate,
131 virtual
int SetOption(::webrtc::
Socket::
Option opt,
int value) ;
133 virtual
int GetOption(::webrtc::
Socket::
Option opt,
int* value) ;
135 virtual
int GetError() ;
140 virtual
bool CanHandleIncomingPacketsFrom(::webrtc::
SocketAddress const& addr) const ;
142 virtual
void SendBindingErrorResponse(
146 ::
std::string_view reason
156 virtual
bool SupportsProtocol(::
std::string_view protocol) const ;
158 virtual
void HandleConnectionDestroyed(::webrtc::
Connection* conn) ;
160 virtual ::webrtc::DiffServCodePoint StunDscpValue() const ;
178 ::webrtc::ProtocolType proto,
186 MCNAPI
void HandleChannelData(ushort channel_id,
char const* data, uint64 size, int64 packet_time_us);
218 ::
std::vector<::
std::
string> const& tls_alpn_protocols,
219 ::
std::vector<::
std::
string> const& tls_elliptic_curves,
231 ::
std::vector<::
std::
string> const& tls_alpn_protocols,
232 ::
std::vector<::
std::
string> const& tls_elliptic_curves,
249 MCNAPI static ::
std::unique_ptr<::webrtc::TurnPort>
252 MCNAPI static ::
std::unique_ptr<::webrtc::TurnPort>
267 ::
std::vector<::
std::
string> const& tls_alpn_protocols,
268 ::
std::vector<::
std::
string> const& tls_elliptic_curves,
280 ::
std::vector<::
std::
string> const& tls_alpn_protocols,
281 ::
std::vector<::
std::
string> const& tls_elliptic_curves,
333 ::
std::string_view reason
Definition AsyncPacketSocket.h:20
Definition Candidate.h:12
Definition Connection.h:35
Definition PortInterface.h:29
Definition ReceivedIpPacket.h:17
Definition SSLCertificateVerifier.h:12
Definition SocketAddress.h:11
Definition StunMessage.h:24
Definition StunRequest.h:15
Definition TurnCustomizer.h:13
Definition TurnEntry.h:16
MCAPI void HandleChannelData(ushort channel_id, char const *data, uint64 size, int64 packet_time_us)
MCAPI void HandleDataIndication(char const *data, uint64 size, int64 packet_time_us)
static MCAPI bool AllowedTurnPort(int port)
static MCAPI void ** $vftableForPortInterface()
MCAPI void * $ctor(::webrtc::Port::PortParametersRef const &args, ::std::shared_ptr<::webrtc::AsyncPacketSocket > socket, ::webrtc::ProtocolAddress const &server_address, ::webrtc::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, ::webrtc::SSLCertificateVerifier *tls_cert_verifier)
MCAPI int $GetOption(::webrtc::Socket::Option opt, int *value)
MCAPI bool CreateOrRefreshEntry(::webrtc::Connection *conn, int channel_number)
MCAPI int $SendTo(void const *data, uint64 size, ::webrtc::SocketAddress const &addr, ::webrtc::AsyncSocketPacketOptions const &options, bool payload)
MCAPI bool $CanHandleIncomingPacketsFrom(::webrtc::SocketAddress const &addr) const
MCAPI void OnLocalNetworkAccessPermissionGranted()
MCAPI void $SendBindingErrorResponse(::webrtc::StunMessage *message, ::webrtc::SocketAddress const &addr, int error_code, ::std::string_view reason)
MCAPI void set_nonce(::std::string_view nonce)
MCAPI void $OnReadPacket(::webrtc::AsyncPacketSocket *socket, ::webrtc::ReceivedIpPacket const &packet)
MCAPI bool ScheduleRefresh(uint lifetime)
MCAPI::webrtc::TurnEntry * FindEntry(::webrtc::SocketAddress const &addr) const
MCAPI::webrtc::Connection * $CreateConnection(::webrtc::Candidate const &remote_candidate, ::webrtc::PortInterface::CandidateOrigin origin)
static MCAPI bool Validate(::webrtc::CreateRelayPortArgs const &args)
static MCAPI void ** $vftableForHasSlots()
MCAPI void $HandleConnectionDestroyed(::webrtc::Connection *conn)
static MCAPI ::std::unique_ptr<::webrtc::TurnPort > Create(::webrtc::CreateRelayPortArgs const &args, ::std::shared_ptr<::webrtc::AsyncPacketSocket > socket)
MCAPI bool CreateTurnClientSocket()
MCAPI ::std::vector<::std::string > $GetTlsEllipticCurves() const
MCAPI void OnAllocateError(int error_code, ::std::string_view reason)
MCAPI int $SetOption(::webrtc::Socket::Option opt, int value)
MCAPI void ResolveTurnAddress(::webrtc::SocketAddress const &address)
MCAPI bool $HandleIncomingPacket(::webrtc::AsyncPacketSocket *socket, ::webrtc::ReceivedIpPacket const &packet)
MCAPI void OnAllocateMismatch()
MCAPI void set_realm(::std::string_view realm)
MCAPI ::std::vector<::std::string > $GetTlsAlpnProtocols() const
MCAPI bool $SupportsProtocol(::std::string_view protocol) const
MCAPI::webrtc::DiffServCodePoint $StunDscpValue() const
MCAPI::webrtc::TlsCertPolicy $GetTlsCertPolicy() const
MCAPI::webrtc::SocketAddress GetLocalAddress() const
MCAPI void $OnSentPacket(::webrtc::AsyncPacketSocket *socket, ::webrtc::SentPacketInfo const &sent_packet)
MCAPI void $PrepareAddress()
MCAPI void DispatchPacket(char const *data, uint64 size, ::webrtc::SocketAddress const &remote_addr, ::webrtc::ProtocolType proto, int64 packet_time_us)
MCAPI void OnRefreshError()
MCAPI void AddRequestAuthInfo(::webrtc::StunMessage *msg)
MCAPI::std::string ReconstructServerUrl()
MCAPI void OnSocketConnect(::webrtc::AsyncPacketSocket *socket)
MCAPI bool UpdateNonce(::webrtc::StunMessage *response)
MCAPI void OnSendStunPacket(void const *data, uint64 size, ::webrtc::StunRequest *request)
MCAPI::webrtc::ProtocolType $GetProtocol() const
MCAPI void $SetTlsCertPolicy(::webrtc::TlsCertPolicy tls_cert_policy)
MCAPI void $OnReadyToSend(::webrtc::AsyncPacketSocket *socket)
MCAPI void SetTurnLoggingId(::std::string_view turn_logging_id)
MCAPI bool SetAlternateServer(::webrtc::SocketAddress const &address)
Definition AsyncSocketPacketOptions.h:10
Definition CreateRelayPortArgs.h:7
Definition ProtocolAddress.h:7
Definition RelayCredentials.h:7
Definition SentPacketInfo.h:12