32 enum class CandidateOrigin :
int {
49 PortInterface& operator=(PortInterface
const&);
55 virtual ~PortInterface();
57 virtual ::webrtc::IceCandidateType Type()
const = 0;
59 virtual ::rtc::Network
const* Network()
const = 0;
61 virtual void SetIceRole(::cricket::IceRole role) = 0;
63 virtual ::cricket::IceRole GetIceRole()
const = 0;
65 virtual void SetIceTiebreaker(uint64 tiebreaker) = 0;
67 virtual uint64 IceTiebreaker()
const = 0;
69 virtual bool SharedSocket()
const = 0;
71 virtual bool SupportsProtocol(::std::string_view protocol)
const = 0;
73 virtual void PrepareAddress() = 0;
77 virtual ::cricket::Connection*
78 CreateConnection(
::cricket::Candidate const& address, ::cricket::PortInterface::CandidateOrigin origin) = 0;
80 virtual int SetOption(::rtc::Socket::Option opt,
int value) = 0;
82 virtual int GetOption(::rtc::Socket::Option opt,
int* value) = 0;
84 virtual int GetError() = 0;
86 virtual ::cricket::ProtocolType GetProtocol()
const = 0;
88 virtual ::std::vector<::cricket::Candidate>
const& Candidates()
const = 0;
98 virtual void SendBindingErrorResponse(
102 ::std::string_view reason
107 virtual void EnablePortPackets() = 0;
109 virtual ::std::string ToString()
const = 0;
111 virtual void GetStunStats(::std::optional<::cricket::StunStats>* stats) = 0;
117 virtual ::webrtc::TaskQueueBase* thread() = 0;
119 virtual ::rtc::PacketSocketFactory* socket_factory()
const = 0;
121 virtual ::std::string
const& user_agent() = 0;
123 virtual ::rtc::ProxyInfo
const& proxy() = 0;
125 virtual uint generation()
const = 0;
127 virtual void set_generation(uint generation) = 0;
129 virtual bool send_retransmit_count_attribute()
const = 0;
131 virtual ::std::string
const& content_name()
const = 0;
135 virtual void UpdateNetworkCost() = 0;
137 virtual ::rtc::DiffServCodePoint StunDscpValue()
const = 0;
139 virtual bool GetStunMessage(
143 ::std::unique_ptr<::cricket::IceMessage>* out_msg,
144 ::std::string* out_username
147 virtual bool ParseStunUsername(
149 ::std::string* local_ufrag,
150 ::std::string* remote_ufrag
153 virtual ::std::string CreateStunUsername(::std::string_view remote_username)
const = 0;
155 virtual bool MaybeIceRoleConflict(
158 ::std::string_view remote_ufrag
161 virtual short network_cost()
const = 0;