3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/absl/AnyInvocable.h"
7#include "mc/external/sigslot/has_slots.h"
8#include "mc/external/sigslot/single_threaded.h"
9#include "mc/external/webrtc/DiffServCodePoint.h"
10#include "mc/external/webrtc/IceCandidateType.h"
11#include "mc/external/webrtc/IceRole.h"
12#include "mc/external/webrtc/LocalNetworkAccessPermissionStatus.h"
13#include "mc/external/webrtc/PortInterface.h"
14#include "mc/external/webrtc/ProtocolType.h"
15#include "mc/external/webrtc/WeakPtr.h"
23namespace webrtc {
class Network; }
45 enum class State :
int {
51 struct PortParametersRef {
66 PortParametersRef& operator=(PortParametersRef
const&);
67 PortParametersRef(PortParametersRef
const&);
124 Port& operator=(Port
const&);
133 virtual ::webrtc::IceCandidateType Type() const ;
135 virtual ::webrtc::Network const* Network() const ;
137 virtual ::webrtc::IceRole GetIceRole() const ;
139 virtual
void SetIceRole(::webrtc::IceRole role) ;
141 virtual
void SetIceTiebreaker(uint64 tiebreaker) ;
143 virtual uint64 IceTiebreaker() const ;
145 virtual
bool SharedSocket() const ;
151 virtual ::
std::
string const& content_name() const ;
153 virtual
bool send_retransmit_count_attribute() const ;
155 virtual uint generation() const ;
157 virtual
void set_generation(uint generation) ;
159 virtual ::
std::vector<::webrtc::
Candidate> const& Candidates() const ;
161 virtual
void SubscribePortDestroyed(::
std::function<
void(::webrtc::PortInterface*)> callback) ;
165 virtual
void DestroyConnection(::webrtc::
Connection* conn) ;
167 virtual
void DestroyConnectionAsync(::webrtc::
Connection* conn) ;
171 virtual
bool CanHandleIncomingPacketsFrom(::webrtc::
SocketAddress const& addr) const;
173 virtual
void SendBindingErrorResponse(
177 ::
std::string_view reason
180 virtual
void EnablePortPackets() ;
182 virtual ::
std::
string ToString() const ;
184 virtual
bool ParseStunUsername(
186 ::
std::
string* local_ufrag,
187 ::
std::
string* remote_ufrag
190 virtual ::
std::
string CreateStunUsername(::
std::string_view remote_username) const ;
192 virtual
bool MaybeIceRoleConflict(
195 ::
std::string_view remote_ufrag
200 virtual
void AddPrflxCandidate(::webrtc::
Candidate const& local) ;
202 virtual
short network_cost() const ;
204 virtual
void GetStunStats(::
std::optional<::webrtc::
StunStats>* stats) ;
206 virtual
void SubscribeRoleConflict(::absl::AnyInvocable<
void()> callback) ;
208 virtual
void NotifyRoleConflict() ;
210 virtual
void UpdateNetworkCost() ;
212 virtual
void PostAddAddress(
bool is_final);
214 virtual
bool GetStunMessage(
219 ::
std::
string* out_username
222 virtual ::webrtc::DiffServCodePoint StunDscpValue() const ;
224 virtual
void HandleConnectionDestroyed(::webrtc::
Connection* conn);
234 ::
std::string_view protocol,
235 ::
std::string_view relay_protocol,
236 ::
std::string_view tcptype,
237 ::webrtc::IceCandidateType type,
238 uint type_preference,
239 uint relay_preference,
240 ::
std::string_view url,
264 ::absl::AnyInvocable<
void(::webrtc::LocalNetworkAccessPermissionStatus)> callback
279 ::webrtc::IceCandidateType type,
298 ::
std::vector<ushort> const& unknown_types
319 ::webrtc::IceCandidateType type,
335 MCNAPI ::webrtc::IceCandidateType
$Type() const;
379 ::
std::string_view reason
388 ::
std::
string* local_ufrag,
389 ::
std::
string* remote_ufrag
397 ::
std::string_view remote_ufrag
419 ::
std::
string* out_username
Definition AsyncPacketSocket.h:20
Definition Candidate.h:15
Definition Connection.h:35
Definition IceMessage.h:11
Definition PacketSocketFactory.h:16
Definition PortInterface.h:29
MCAPI void MaybeRequestLocalNetworkAccessPermission(::webrtc::SocketAddress const &address, ::absl::AnyInvocable< void(::webrtc::LocalNetworkAccessPermissionStatus)> callback)
MCAPI::webrtc::IceCandidateType $Type() const
MCAPI void PostDestroyIfDead(bool delayed)
MCAPI::std::string $ToString() const
MCAPI void $SendBindingErrorResponse(::webrtc::StunMessage *message, ::webrtc::SocketAddress const &addr, int error_code, ::std::string_view reason)
MCAPI short $network_cost() const
MCAPI::std::string const & $content_name() const
MCAPI void $DestroyConnectionAsync(::webrtc::Connection *conn)
MCAPI void OnReadyToSend()
MCAPI void SendCandidateError(::webrtc::IceCandidateErrorEvent const &event)
MCAPI void AddAddress(::webrtc::SocketAddress const &address, ::webrtc::SocketAddress const &base_address, ::webrtc::SocketAddress const &related_address, ::std::string_view protocol, ::std::string_view relay_protocol, ::std::string_view tcptype, ::webrtc::IceCandidateType type, uint type_preference, uint relay_preference, ::std::string_view url, bool is_final)
MCAPI void SendCandidateReadyCallbackList(::webrtc::Port *, ::webrtc::Candidate const &candidate)
MCAPI::webrtc::Network const * $Network() const
MCAPI void SubscribeCandidateReadyCallback(::absl::AnyInvocable< void(::webrtc::Port *, ::webrtc::Candidate const &)> callback)
MCAPI void * $ctor(::webrtc::Port::PortParametersRef const &args, ::webrtc::IceCandidateType type)
MCAPI void SubscribeCandidateError(::std::function< void(::webrtc::Port *, ::webrtc::IceCandidateErrorEvent const &)> callback)
MCAPI bool $GetStunMessage(char const *data, uint64 size, ::webrtc::SocketAddress const &addr, ::std::unique_ptr<::webrtc::IceMessage > *out_msg, ::std::string *out_username)
MCAPI void $SetIceTiebreaker(uint64 tiebreaker)
MCAPI void DestroyConnectionInternal(::webrtc::Connection *conn, bool async)
MCAPI void $EnablePortPackets()
MCAPI::webrtc::PacketSocketFactory * $socket_factory() const
static MCAPI void ** $vftableForHasSlots()
MCAPI bool $HandleIncomingPacket(::webrtc::AsyncPacketSocket *socket, ::webrtc::ReceivedIpPacket const &packet)
MCAPI void $set_generation(uint generation)
MCAPI bool MaybeObfuscateAddress(::webrtc::Candidate const &c, bool is_final)
MCAPI void $SubscribePortDestroyed(::std::function< void(::webrtc::PortInterface *)> callback)
MCAPI ::webrtc::WeakPtr<::webrtc::Port > NewWeakPtr()
MCAPI void SetIceParameters(int component, ::std::string_view username_fragment, ::std::string_view password)
MCAPI bool $send_retransmit_count_attribute() const
MCAPI bool $ParseStunUsername(::webrtc::StunMessage const *stun_msg, ::std::string *local_ufrag, ::std::string *remote_ufrag) const
MCAPI void $GetStunStats(::std::optional<::webrtc::StunStats > *stats)
MCAPI void $NotifyRoleConflict()
MCAPI void $DestroyConnection(::webrtc::Connection *conn)
MCAPI ::std::vector<::webrtc::Candidate > const & $Candidates() const
MCAPI bool IsCompatibleAddress(::webrtc::SocketAddress const &addr)
MCAPI void CopyPortInformationToPacketInfo(::webrtc::PacketInfo *info) const
MCAPI void OnReadPacket(::webrtc::ReceivedIpPacket const &packet, ::webrtc::ProtocolType proto)
MCAPI void SendUnknownAttributesErrorResponse(::webrtc::StunMessage *message, ::webrtc::SocketAddress const &addr, ::std::vector< ushort > const &unknown_types)
MCAPI::webrtc::DiffServCodePoint $StunDscpValue() const
MCAPI::webrtc::IceRole $GetIceRole() const
MCAPI void $SetIceRole(::webrtc::IceRole role)
static MCAPI void ** $vftableForPortInterface()
MCAPI void $HandleConnectionDestroyed(::webrtc::Connection *conn)
MCAPI void AddOrReplaceConnection(::webrtc::Connection *conn)
MCAPI::std::string $CreateStunUsername(::std::string_view remote_username) const
MCAPI void $SubscribeRoleConflict(::absl::AnyInvocable< void()> callback)
MCAPI void KeepAliveUntilPruned()
MCAPI bool $MaybeIceRoleConflict(::webrtc::SocketAddress const &addr, ::webrtc::IceMessage *stun_msg, ::std::string_view remote_ufrag)
MCAPI bool $SharedSocket() const
MCAPI void $AddPrflxCandidate(::webrtc::Candidate const &local)
MCAPI uint $generation() const
MCAPI bool $CanHandleIncomingPacketsFrom(::webrtc::SocketAddress const &addr) const
MCAPI void DestroyAllConnections()
MCAPI void OnNetworkTypeChanged(::webrtc::Network const *network)
MCAPI void $UpdateNetworkCost()
MCAPI uint64 $IceTiebreaker() const
MCAPI::webrtc::TaskQueueBase * $thread()
MCAPI void SendCandidateReady(::webrtc::Candidate const &candidate)
MCAPI void FinishAddingAddress(::webrtc::Candidate const &c, bool is_final)
MCAPI void $PostAddAddress(bool is_final)
MCAPI::webrtc::Connection * $GetConnection(::webrtc::SocketAddress const &remote_addr)
MCAPI void set_content_name(::std::string_view content_name)
Definition ReceivedIpPacket.h:17
Definition SocketAddress.h:15
Definition StunMessage.h:24
Definition TaskQueueBase.h:16
Definition IceCandidateErrorEvent.h:7
Definition PacketInfo.h:7
MCAPI ~PortParametersRef()
Definition SentPacketInfo.h:12