45 enum class State :
int {
47 KeepAliveUntilPruned = 1,
51 struct PortParametersRef {
66 PortParametersRef& operator=(PortParametersRef
const&);
67 PortParametersRef(PortParametersRef
const&);
73 MCAPI ~PortParametersRef();
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);
230 MCAPI
void AddAddress(
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,
244 MCAPI
void AddOrReplaceConnection(::webrtc::
Connection* conn);
246 MCAPI
void CopyPortInformationToPacketInfo(::webrtc::
PacketInfo* info) const;
248 MCAPI
void Destroy();
250 MCAPI
void DestroyAllConnections();
252 MCAPI
void DestroyConnectionInternal(::webrtc::
Connection* conn,
bool async);
254 MCAPI
void FinishAddingAddress(::webrtc::
Candidate const& c,
bool is_final);
256 MCAPI
bool IsCompatibleAddress(::webrtc::
SocketAddress const& addr);
258 MCAPI
void KeepAliveUntilPruned();
260 MCAPI
bool MaybeObfuscateAddress(::webrtc::
Candidate const& c,
bool is_final);
262 MCAPI
void MaybeRequestLocalNetworkAccessPermission(
264 ::absl::AnyInvocable<
void(::webrtc::LocalNetworkAccessPermissionStatus)> callback
267 MCAPI ::webrtc::
WeakPtr<::webrtc::Port> NewWeakPtr();
269 MCAPI
void OnNetworkTypeChanged(::webrtc::Network const* network);
271 MCAPI
void OnReadPacket(::webrtc::
ReceivedIpPacket const& packet, ::webrtc::ProtocolType proto);
273 MCAPI
void OnReadyToSend();
275 MCAPI Port(::webrtc::Port::
PortParametersRef const& args, ::webrtc::IceCandidateType type);
279 ::webrtc::IceCandidateType type,
285 MCAPI
void PostDestroyIfDead(
bool delayed);
291 MCAPI
void SendCandidateReady(::webrtc::
Candidate const& candidate);
293 MCAPI
void SendCandidateReadyCallbackList(::webrtc::Port*, ::webrtc::
Candidate const& candidate);
295 MCAPI
void SendUnknownAttributesErrorResponse(
298 ::
std::vector<ushort> const& unknown_types
301 MCAPI
void SetIceParameters(
int component, ::
std::string_view username_fragment, ::
std::string_view password);
307 SubscribeCandidateReadyCallback(::absl::AnyInvocable<
void(::webrtc::Port*, ::webrtc::
Candidate const&)> callback);
309 MCAPI
void set_content_name(::
std::string_view content_name);
315 MCAPI
void* $ctor(::webrtc::Port::
PortParametersRef const& args, ::webrtc::IceCandidateType type);
319 ::webrtc::IceCandidateType type,
335 MCAPI ::webrtc::IceCandidateType $Type() const;
337 MCAPI ::webrtc::Network const* $Network() const;
339 MCAPI ::webrtc::IceRole $GetIceRole() const;
341 MCAPI
void $SetIceRole(::webrtc::IceRole role);
343 MCAPI
void $SetIceTiebreaker(uint64 tiebreaker);
345 MCAPI uint64 $IceTiebreaker() const;
347 MCAPI
bool $SharedSocket() const;
353 MCAPI ::
std::
string const& $content_name() const;
355 MCAPI
bool $send_retransmit_count_attribute() const;
357 MCAPI uint $generation() const;
359 MCAPI
void $set_generation(uint generation);
361 MCAPI ::
std::vector<::webrtc::
Candidate> const& $Candidates() const;
363 MCAPI
void $SubscribePortDestroyed(::
std::function<
void(::webrtc::PortInterface*)> callback);
367 MCAPI
void $DestroyConnection(::webrtc::
Connection* conn);
369 MCAPI
void $DestroyConnectionAsync(::webrtc::
Connection* conn);
373 MCFOLD
bool $CanHandleIncomingPacketsFrom(::webrtc::
SocketAddress const& addr) const;
375 MCAPI
void $SendBindingErrorResponse(
379 ::
std::string_view reason
382 MCAPI
void $EnablePortPackets();
384 MCAPI ::
std::
string $ToString() const;
386 MCAPI
bool $ParseStunUsername(
388 ::
std::
string* local_ufrag,
389 ::
std::
string* remote_ufrag
392 MCAPI ::
std::
string $CreateStunUsername(::
std::string_view remote_username) const;
394 MCAPI
bool $MaybeIceRoleConflict(
397 ::
std::string_view remote_ufrag
400 MCAPI
void $AddPrflxCandidate(::webrtc::
Candidate const& local);
402 MCAPI
short $network_cost() const;
404 MCFOLD
void $GetStunStats(::
std::optional<::webrtc::
StunStats>* stats);
406 MCAPI
void $SubscribeRoleConflict(::absl::AnyInvocable<
void()> callback);
408 MCAPI
void $NotifyRoleConflict();
410 MCAPI
void $UpdateNetworkCost();
412 MCAPI
void $PostAddAddress(
bool is_final);
414 MCAPI
bool $GetStunMessage(
419 ::
std::
string* out_username
422 MCFOLD ::webrtc::DiffServCodePoint $StunDscpValue() const;
424 MCFOLD
void $HandleConnectionDestroyed(::webrtc::
Connection* conn);