webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
cricket::RelayPort Class Reference

#include <relayport.h>

Inheritance diagram for cricket::RelayPort:
cricket::Port cricket::Port sigslot::has_slots<> rtc::MessageHandler cricket::PortInterface sigslot::has_slots<> rtc::MessageHandler cricket::PortInterface sigslot::has_slots<> rtc::MessageHandler cricket::PortInterface sigslot::has_slots<> rtc::MessageHandler cricket::PortInterface

Public Types

typedef std::pair< rtc::Socket::Option, int > OptionValue
 
typedef std::pair< rtc::Socket::Option, int > OptionValue
 
- Public Types inherited from cricket::Port
enum  State {
  State::INIT, State::KEEP_ALIVE_UNTIL_PRUNED, State::PRUNED, State::INIT,
  State::KEEP_ALIVE_UNTIL_PRUNED, State::PRUNED
}
 
enum  State {
  State::INIT, State::KEEP_ALIVE_UNTIL_PRUNED, State::PRUNED, State::INIT,
  State::KEEP_ALIVE_UNTIL_PRUNED, State::PRUNED
}
 
typedef std::map< rtc::SocketAddress, Connection * > AddressMap
 
typedef std::map< rtc::SocketAddress, Connection * > AddressMap
 
- Public Types inherited from cricket::PortInterface
enum  CandidateOrigin {
  ORIGIN_THIS_PORT, ORIGIN_OTHER_PORT, ORIGIN_MESSAGE, ORIGIN_THIS_PORT,
  ORIGIN_OTHER_PORT, ORIGIN_MESSAGE
}
 
enum  CandidateOrigin {
  ORIGIN_THIS_PORT, ORIGIN_OTHER_PORT, ORIGIN_MESSAGE, ORIGIN_THIS_PORT,
  ORIGIN_OTHER_PORT, ORIGIN_MESSAGE
}
 

Public Member Functions

 ~RelayPort () override
 
void AddServerAddress (const ProtocolAddress &addr)
 
void AddExternalAddress (const ProtocolAddress &addr)
 
const std::vector< OptionValue > & options () const
 
bool HasMagicCookie (const char *data, size_t size)
 
void PrepareAddress () override
 
ConnectionCreateConnection (const Candidate &address, CandidateOrigin origin) override
 
int SetOption (rtc::Socket::Option opt, int value) override
 
int GetOption (rtc::Socket::Option opt, int *value) override
 
int GetError () override
 
bool SupportsProtocol (const std::string &protocol) const override
 
const ProtocolAddressServerAddress (size_t index) const
 
bool IsReady ()
 
ProtocolType GetProtocol () const override
 
 ~RelayPort () override
 
void AddServerAddress (const ProtocolAddress &addr)
 
void AddExternalAddress (const ProtocolAddress &addr)
 
const std::vector< OptionValue > & options () const
 
bool HasMagicCookie (const char *data, size_t size)
 
void PrepareAddress () override
 
ConnectionCreateConnection (const Candidate &address, CandidateOrigin origin) override
 
int SetOption (rtc::Socket::Option opt, int value) override
 
int GetOption (rtc::Socket::Option opt, int *value) override
 
int GetError () override
 
bool SupportsProtocol (const std::string &protocol) const override
 
const ProtocolAddressServerAddress (size_t index) const
 
bool IsReady ()
 
ProtocolType GetProtocol () const override
 
- Public Member Functions inherited from cricket::Port
 Port (rtc::Thread *thread, const std::string &type, rtc::PacketSocketFactory *factory, rtc::Network *network, const rtc::IPAddress &ip, const std::string &username_fragment, const std::string &password)
 
 Port (rtc::Thread *thread, const std::string &type, rtc::PacketSocketFactory *factory, rtc::Network *network, const rtc::IPAddress &ip, uint16_t min_port, uint16_t max_port, const std::string &username_fragment, const std::string &password)
 
virtual ~Port ()
 
virtual const std::stringType () const
 
virtual rtc::NetworkNetwork () const
 
IceRole GetIceRole () const
 
void SetIceRole (IceRole role)
 
void SetIceTiebreaker (uint64_t tiebreaker)
 
uint64_t IceTiebreaker () const
 
virtual bool SharedSocket () const
 
void ResetSharedSocket ()
 
void KeepAliveUntilPruned ()
 
void Prune ()
 
rtc::Threadthread ()
 
rtc::PacketSocketFactorysocket_factory () const
 
void set_socket_factory (rtc::PacketSocketFactory *factory)
 
const std::stringcontent_name () const
 
void set_content_name (const std::string &content_name)
 
int component () const
 
void set_component (int component)
 
bool send_retransmit_count_attribute () const
 
void set_send_retransmit_count_attribute (bool enable)
 
uint32_t generation () const
 
void set_generation (uint32_t generation)
 
const std::string username_fragment () const
 
const std::stringpassword () const
 
void SetIceParameters (int component, const std::string &username_fragment, const std::string &password)
 
virtual const std::vector< Candidate > & Candidates () const
 
const AddressMapconnections ()
 
virtual ConnectionGetConnection (const rtc::SocketAddress &remote_addr)
 
virtual bool HandleIncomingPacket (rtc::AsyncPacketSocket *, const char *, size_t, const rtc::SocketAddress &, const rtc::PacketTime &)
 
virtual void SendBindingResponse (StunMessage *request, const rtc::SocketAddress &addr)
 
virtual void SendBindingErrorResponse (StunMessage *request, const rtc::SocketAddress &addr, int error_code, const std::string &reason)
 
void set_proxy (const std::string &user_agent, const rtc::ProxyInfo &proxy)
 
const std::stringuser_agent ()
 
const rtc::ProxyInfoproxy ()
 
virtual void EnablePortPackets ()
 
void Destroy ()
 
virtual void OnMessage (rtc::Message *pmsg)
 
virtual std::string ToString () const
 
const rtc::IPAddressip () const
 
uint16_t min_port ()
 
uint16_t max_port ()
 
void set_timeout_delay (int delay)
 
bool ParseStunUsername (const StunMessage *stun_msg, std::string *local_username, std::string *remote_username) const
 
void CreateStunUsername (const std::string &remote_username, std::string *stun_username_attr_str) const
 
bool MaybeIceRoleConflict (const rtc::SocketAddress &addr, IceMessage *stun_msg, const std::string &remote_ufrag)
 
void OnReadyToSend ()
 
size_t AddPrflxCandidate (const Candidate &local)
 
int16_t network_cost () const
 
 Port (rtc::Thread *thread, const std::string &type, rtc::PacketSocketFactory *factory, rtc::Network *network, const rtc::IPAddress &ip, const std::string &username_fragment, const std::string &password)
 
 Port (rtc::Thread *thread, const std::string &type, rtc::PacketSocketFactory *factory, rtc::Network *network, const rtc::IPAddress &ip, uint16_t min_port, uint16_t max_port, const std::string &username_fragment, const std::string &password)
 
virtual ~Port ()
 
virtual const std::stringType () const
 
virtual rtc::NetworkNetwork () const
 
IceRole GetIceRole () const
 
void SetIceRole (IceRole role)
 
void SetIceTiebreaker (uint64_t tiebreaker)
 
uint64_t IceTiebreaker () const
 
virtual bool SharedSocket () const
 
void ResetSharedSocket ()
 
void KeepAliveUntilPruned ()
 
void Prune ()
 
rtc::Threadthread ()
 
rtc::PacketSocketFactorysocket_factory () const
 
void set_socket_factory (rtc::PacketSocketFactory *factory)
 
const std::stringcontent_name () const
 
void set_content_name (const std::string &content_name)
 
int component () const
 
void set_component (int component)
 
bool send_retransmit_count_attribute () const
 
void set_send_retransmit_count_attribute (bool enable)
 
uint32_t generation () const
 
void set_generation (uint32_t generation)
 
const std::string username_fragment () const
 
const std::stringpassword () const
 
void SetIceParameters (int component, const std::string &username_fragment, const std::string &password)
 
virtual const std::vector< Candidate > & Candidates () const
 
const AddressMapconnections ()
 
virtual ConnectionGetConnection (const rtc::SocketAddress &remote_addr)
 
virtual bool HandleIncomingPacket (rtc::AsyncPacketSocket *, const char *, size_t, const rtc::SocketAddress &, const rtc::PacketTime &)
 
virtual void SendBindingResponse (StunMessage *request, const rtc::SocketAddress &addr)
 
virtual void SendBindingErrorResponse (StunMessage *request, const rtc::SocketAddress &addr, int error_code, const std::string &reason)
 
void set_proxy (const std::string &user_agent, const rtc::ProxyInfo &proxy)
 
const std::stringuser_agent ()
 
const rtc::ProxyInfoproxy ()
 
virtual void EnablePortPackets ()
 
void Destroy ()
 
virtual void OnMessage (rtc::Message *pmsg)
 
virtual std::string ToString () const
 
const rtc::IPAddressip () const
 
uint16_t min_port ()
 
uint16_t max_port ()
 
void set_timeout_delay (int delay)
 
bool ParseStunUsername (const StunMessage *stun_msg, std::string *local_username, std::string *remote_username) const
 
void CreateStunUsername (const std::string &remote_username, std::string *stun_username_attr_str) const
 
bool MaybeIceRoleConflict (const rtc::SocketAddress &addr, IceMessage *stun_msg, const std::string &remote_ufrag)
 
void OnReadyToSend ()
 
size_t AddPrflxCandidate (const Candidate &local)
 
int16_t network_cost () const
 
- Public Member Functions inherited from cricket::PortInterface
virtual ~PortInterface ()
 
virtual ~PortInterface ()
 
- Public Member Functions inherited from rtc::MessageHandler
virtual WEBRTC_DYLIB_EXPORT ~MessageHandler ()
 
virtual WEBRTC_DYLIB_EXPORT ~MessageHandler ()
 
- Public Member Functions inherited from sigslot::has_slots<>
 has_slots ()
 
 has_slots ()
 
 ~has_slots ()
 
 ~has_slots ()
 
- Public Member Functions inherited from sigslot::has_slots_interface
void signal_connect (_signal_base_interface *sender)
 
void signal_disconnect (_signal_base_interface *sender)
 
void disconnect_all ()
 
void signal_connect (_signal_base_interface *sender)
 
void signal_disconnect (_signal_base_interface *sender)
 
void disconnect_all ()
 

Static Public Member Functions

static RelayPortCreate (rtc::Thread *thread, rtc::PacketSocketFactory *factory, rtc::Network *network, const rtc::IPAddress &ip, uint16_t min_port, uint16_t max_port, const std::string &username, const std::string &password)
 
static RelayPortCreate (rtc::Thread *thread, rtc::PacketSocketFactory *factory, rtc::Network *network, const rtc::IPAddress &ip, uint16_t min_port, uint16_t max_port, const std::string &username, const std::string &password)
 

Public Attributes

sigslot::signal1< const ProtocolAddress * > SignalConnectFailure
 
sigslot::signal1< const ProtocolAddress * > SignalSoftTimeout
 
- Public Attributes inherited from cricket::Port
sigslot::signal2< Port *, const Candidate & > SignalCandidateReady
 
sigslot::signal1< Port * > SignalPortComplete
 
sigslot::signal1< Port * > SignalPortError
 
sigslot::signal2< Port *, Connection * > SignalConnectionCreated
 
- Public Attributes inherited from cricket::PortInterface
sigslot::signal6< PortInterface *, const rtc::SocketAddress &, ProtocolType, IceMessage *, const std::string &, bool > SignalUnknownAddress
 
sigslot::signal1< PortInterface * > SignalDestroyed
 
sigslot::signal1< PortInterface * > SignalRoleConflict
 
sigslot::signal4< PortInterface *, const char *, size_t, const rtc::SocketAddress & > SignalReadPacket
 
sigslot::signal1< const rtc::SentPacket & > SignalSentPacket
 

Protected Member Functions

 RelayPort (rtc::Thread *thread, rtc::PacketSocketFactory *factory, rtc::Network *, const rtc::IPAddress &ip, uint16_t min_port, uint16_t max_port, const std::string &username, const std::string &password)
 
bool Init ()
 
void SetReady ()
 
int SendTo (const void *data, size_t size, const rtc::SocketAddress &addr, const rtc::PacketOptions &options, bool payload) override
 
void OnReadPacket (const char *data, size_t size, const rtc::SocketAddress &remote_addr, ProtocolType proto, const rtc::PacketTime &packet_time)
 
void OnSentPacket (rtc::AsyncPacketSocket *socket, const rtc::SentPacket &sent_packet) override
 
 RelayPort (rtc::Thread *thread, rtc::PacketSocketFactory *factory, rtc::Network *, const rtc::IPAddress &ip, uint16_t min_port, uint16_t max_port, const std::string &username, const std::string &password)
 
bool Init ()
 
void SetReady ()
 
int SendTo (const void *data, size_t size, const rtc::SocketAddress &addr, const rtc::PacketOptions &options, bool payload) override
 
void OnReadPacket (const char *data, size_t size, const rtc::SocketAddress &remote_addr, ProtocolType proto, const rtc::PacketTime &packet_time)
 
void OnSentPacket (rtc::AsyncPacketSocket *socket, const rtc::SentPacket &sent_packet) override
 
- Protected Member Functions inherited from cricket::Port
virtual void UpdateNetworkCost ()
 
void set_type (const std::string &type)
 
void AddAddress (const rtc::SocketAddress &address, const rtc::SocketAddress &base_address, const rtc::SocketAddress &related_address, const std::string &protocol, const std::string &relay_protocol, const std::string &tcptype, const std::string &type, uint32_t type_preference, uint32_t relay_preference, bool final)
 
void AddAddress (const rtc::SocketAddress &address, const rtc::SocketAddress &base_address, const rtc::SocketAddress &related_address, const std::string &protocol, const std::string &relay_protocol, const std::string &tcptype, const std::string &type, uint32_t type_preference, uint32_t relay_preference, const std::string &url, bool final)
 
void AddOrReplaceConnection (Connection *conn)
 
void OnReadPacket (const char *data, size_t size, const rtc::SocketAddress &addr, ProtocolType proto)
 
bool GetStunMessage (const char *data, size_t size, const rtc::SocketAddress &addr, std::unique_ptr< IceMessage > *out_msg, std::string *out_username)
 
bool IsCompatibleAddress (const rtc::SocketAddress &addr)
 
rtc::DiffServCodePoint DefaultDscpValue () const
 
virtual void HandleConnectionDestroyed (Connection *)
 
virtual void UpdateNetworkCost ()
 
void set_type (const std::string &type)
 
void AddAddress (const rtc::SocketAddress &address, const rtc::SocketAddress &base_address, const rtc::SocketAddress &related_address, const std::string &protocol, const std::string &relay_protocol, const std::string &tcptype, const std::string &type, uint32_t type_preference, uint32_t relay_preference, bool final)
 
void AddAddress (const rtc::SocketAddress &address, const rtc::SocketAddress &base_address, const rtc::SocketAddress &related_address, const std::string &protocol, const std::string &relay_protocol, const std::string &tcptype, const std::string &type, uint32_t type_preference, uint32_t relay_preference, const std::string &url, bool final)
 
void AddOrReplaceConnection (Connection *conn)
 
void OnReadPacket (const char *data, size_t size, const rtc::SocketAddress &addr, ProtocolType proto)
 
bool GetStunMessage (const char *data, size_t size, const rtc::SocketAddress &addr, std::unique_ptr< IceMessage > *out_msg, std::string *out_username)
 
bool IsCompatibleAddress (const rtc::SocketAddress &addr)
 
rtc::DiffServCodePoint DefaultDscpValue () const
 
virtual void HandleConnectionDestroyed (Connection *)
 
- Protected Member Functions inherited from cricket::PortInterface
 PortInterface ()
 
 PortInterface ()
 
- Protected Member Functions inherited from rtc::MessageHandler
 MessageHandler ()
 
 MessageHandler ()
 
- Protected Member Functions inherited from sigslot::has_slots_interface
 has_slots_interface (signal_connect_t conn, signal_disconnect_t disc, disconnect_all_t disc_all)
 
virtual ~has_slots_interface ()
 
 has_slots_interface (signal_connect_t conn, signal_disconnect_t disc, disconnect_all_t disc_all)
 
virtual ~has_slots_interface ()
 

Friends

class RelayEntry
 

Additional Inherited Members

- Protected Types inherited from cricket::Port
enum  { MSG_DESTROY_IF_DEAD = 0, MSG_FIRST_AVAILABLE }
 
enum  { MSG_DESTROY_IF_DEAD = 0, MSG_FIRST_AVAILABLE }
 

Member Typedef Documentation

◆ OptionValue [1/2]

◆ OptionValue [2/2]

Constructor & Destructor Documentation

◆ ~RelayPort() [1/2]

cricket::RelayPort::~RelayPort ( )
override

◆ RelayPort() [1/2]

cricket::RelayPort::RelayPort ( rtc::Thread thread,
rtc::PacketSocketFactory factory,
rtc::Network network,
const rtc::IPAddress ip,
uint16_t  min_port,
uint16_t  max_port,
const std::string username,
const std::string password 
)
protected

◆ ~RelayPort() [2/2]

cricket::RelayPort::~RelayPort ( )
override

◆ RelayPort() [2/2]

cricket::RelayPort::RelayPort ( rtc::Thread thread,
rtc::PacketSocketFactory factory,
rtc::Network ,
const rtc::IPAddress ip,
uint16_t  min_port,
uint16_t  max_port,
const std::string username,
const std::string password 
)
protected

Member Function Documentation

◆ AddExternalAddress() [1/2]

void cricket::RelayPort::AddExternalAddress ( const ProtocolAddress addr)

◆ AddExternalAddress() [2/2]

void cricket::RelayPort::AddExternalAddress ( const ProtocolAddress addr)

◆ AddServerAddress() [1/2]

void cricket::RelayPort::AddServerAddress ( const ProtocolAddress addr)

◆ AddServerAddress() [2/2]

void cricket::RelayPort::AddServerAddress ( const ProtocolAddress addr)

◆ Create() [1/2]

static RelayPort* cricket::RelayPort::Create ( rtc::Thread thread,
rtc::PacketSocketFactory factory,
rtc::Network network,
const rtc::IPAddress ip,
uint16_t  min_port,
uint16_t  max_port,
const std::string username,
const std::string password 
)
inlinestatic

◆ Create() [2/2]

static RelayPort* cricket::RelayPort::Create ( rtc::Thread thread,
rtc::PacketSocketFactory factory,
rtc::Network network,
const rtc::IPAddress ip,
uint16_t  min_port,
uint16_t  max_port,
const std::string username,
const std::string password 
)
inlinestatic

◆ CreateConnection() [1/2]

Connection* cricket::RelayPort::CreateConnection ( const Candidate address,
CandidateOrigin  origin 
)
overridevirtual

◆ CreateConnection() [2/2]

Connection * cricket::RelayPort::CreateConnection ( const Candidate address,
CandidateOrigin  origin 
)
overridevirtual

◆ GetError() [1/2]

int cricket::RelayPort::GetError ( )
overridevirtual

◆ GetError() [2/2]

int cricket::RelayPort::GetError ( )
overridevirtual

◆ GetOption() [1/2]

int cricket::RelayPort::GetOption ( rtc::Socket::Option  opt,
int *  value 
)
overridevirtual

◆ GetOption() [2/2]

int cricket::RelayPort::GetOption ( rtc::Socket::Option  opt,
int *  value 
)
overridevirtual

◆ GetProtocol() [1/2]

ProtocolType cricket::RelayPort::GetProtocol ( ) const
inlineoverridevirtual

◆ GetProtocol() [2/2]

ProtocolType cricket::RelayPort::GetProtocol ( ) const
inlineoverridevirtual

◆ HasMagicCookie() [1/2]

bool cricket::RelayPort::HasMagicCookie ( const char *  data,
size_t  size 
)

◆ HasMagicCookie() [2/2]

bool cricket::RelayPort::HasMagicCookie ( const char *  data,
size_t  size 
)

◆ Init() [1/2]

bool cricket::RelayPort::Init ( )
protected

◆ Init() [2/2]

bool cricket::RelayPort::Init ( )
protected

◆ IsReady() [1/2]

bool cricket::RelayPort::IsReady ( )
inline

◆ IsReady() [2/2]

bool cricket::RelayPort::IsReady ( )
inline

◆ OnReadPacket() [1/2]

void cricket::RelayPort::OnReadPacket ( const char *  data,
size_t  size,
const rtc::SocketAddress remote_addr,
ProtocolType  proto,
const rtc::PacketTime packet_time 
)
protected

◆ OnReadPacket() [2/2]

void cricket::RelayPort::OnReadPacket ( const char *  data,
size_t  size,
const rtc::SocketAddress remote_addr,
ProtocolType  proto,
const rtc::PacketTime packet_time 
)
protected

◆ OnSentPacket() [1/2]

void cricket::RelayPort::OnSentPacket ( rtc::AsyncPacketSocket socket,
const rtc::SentPacket sent_packet 
)
inlineoverrideprotectedvirtual

Implements cricket::Port.

◆ OnSentPacket() [2/2]

void cricket::RelayPort::OnSentPacket ( rtc::AsyncPacketSocket socket,
const rtc::SentPacket sent_packet 
)
inlineoverrideprotectedvirtual

Implements cricket::Port.

◆ options() [1/2]

const std::vector<OptionValue>& cricket::RelayPort::options ( ) const
inline

◆ options() [2/2]

const std::vector<OptionValue>& cricket::RelayPort::options ( ) const
inline

◆ PrepareAddress() [1/2]

void cricket::RelayPort::PrepareAddress ( )
overridevirtual

◆ PrepareAddress() [2/2]

void cricket::RelayPort::PrepareAddress ( )
overridevirtual

◆ SendTo() [1/2]

int cricket::RelayPort::SendTo ( const void data,
size_t  size,
const rtc::SocketAddress addr,
const rtc::PacketOptions options,
bool  payload 
)
overrideprotectedvirtual

◆ SendTo() [2/2]

int cricket::RelayPort::SendTo ( const void data,
size_t  size,
const rtc::SocketAddress addr,
const rtc::PacketOptions options,
bool  payload 
)
overrideprotectedvirtual

◆ ServerAddress() [1/2]

const ProtocolAddress * cricket::RelayPort::ServerAddress ( size_t  index) const

◆ ServerAddress() [2/2]

const ProtocolAddress* cricket::RelayPort::ServerAddress ( size_t  index) const

◆ SetOption() [1/2]

int cricket::RelayPort::SetOption ( rtc::Socket::Option  opt,
int  value 
)
overridevirtual

◆ SetOption() [2/2]

int cricket::RelayPort::SetOption ( rtc::Socket::Option  opt,
int  value 
)
overridevirtual

◆ SetReady() [1/2]

void cricket::RelayPort::SetReady ( )
protected

◆ SetReady() [2/2]

void cricket::RelayPort::SetReady ( )
protected

◆ SupportsProtocol() [1/2]

bool cricket::RelayPort::SupportsProtocol ( const std::string protocol) const
inlineoverridevirtual

◆ SupportsProtocol() [2/2]

bool cricket::RelayPort::SupportsProtocol ( const std::string protocol) const
inlineoverridevirtual

Friends And Related Function Documentation

◆ RelayEntry

RelayEntry
friend

Member Data Documentation

◆ SignalConnectFailure

sigslot::signal1< const ProtocolAddress * > cricket::RelayPort::SignalConnectFailure

◆ SignalSoftTimeout

sigslot::signal1< const ProtocolAddress * > cricket::RelayPort::SignalSoftTimeout

The documentation for this class was generated from the following files: