OpenTTD Source 20241224-master-gee860a5c8e
NetworkReuseStunConnecter Class Reference

Connecter used after STUN exchange to connect from both sides to each other. More...

Inheritance diagram for NetworkReuseStunConnecter:
TCPConnecter

Public Member Functions

 NetworkReuseStunConnecter (const std::string &hostname, uint16_t port, const NetworkAddress &bind_address, std::string token, uint8_t tracking_number, uint8_t family)
 Try to establish a STUN-based connection.
 
void OnFailure () override
 Callback for when the connection attempt failed.
 
void OnConnect (SOCKET s) override
 Callback when the connection succeeded.
 
- Public Member Functions inherited from TCPConnecter
 TCPConnecter (const std::string &connection_string, uint16_t default_port, const NetworkAddress &bind_address={}, int family=AF_UNSPEC)
 Create a new connecter for the given address.
 
void Kill ()
 Kill this connecter.
 

Private Attributes

std::string token
 Token of this connection.
 
uint8_t tracking_number
 Tracking number of this connection.
 
uint8_t family
 Family of this connection.
 

Additional Inherited Members

- Static Public Member Functions inherited from TCPConnecter
static void CheckCallbacks ()
 Check whether we need to call the callback, i.e.
 
static void KillAll ()
 Kill all connection attempts.
 
template<class T , typename... Args>
static std::shared_ptr< TCPConnecterCreate (Args &&... args)
 Create the connecter, and initiate connecting by putting it in the collection of TCP connections to make.
 

Detailed Description

Connecter used after STUN exchange to connect from both sides to each other.

Definition at line 63 of file network_coordinator.cpp.

Constructor & Destructor Documentation

◆ NetworkReuseStunConnecter()

NetworkReuseStunConnecter::NetworkReuseStunConnecter ( const std::string &  hostname,
uint16_t  port,
const NetworkAddress bind_address,
std::string  token,
uint8_t  tracking_number,
uint8_t  family 
)
inline

Try to establish a STUN-based connection.

Parameters
hostnameThe hostname of the peer.
portThe port of the peer.
bind_addressThe local bind address used for this connection.
tokenThe connection token.
tracking_numberThe tracking number of the connection.
familyThe family this connection is using.

Definition at line 79 of file network_coordinator.cpp.

Member Function Documentation

◆ OnConnect()

void NetworkReuseStunConnecter::OnConnect ( SOCKET  s)
inlineoverridevirtual

Callback when the connection succeeded.

Parameters
sthe socket that we opened

Reimplemented from TCPConnecter.

Definition at line 95 of file network_coordinator.cpp.

References _network_coordinator_client, ClientNetworkCoordinatorSocketHandler::ConnectSuccess(), and NetworkAddress::GetPeerAddress().

◆ OnFailure()

void NetworkReuseStunConnecter::OnFailure ( )
inlineoverridevirtual

Callback for when the connection attempt failed.

Reimplemented from TCPConnecter.

Definition at line 87 of file network_coordinator.cpp.

References _network_coordinator_client, ClientNetworkCoordinatorSocketHandler::CloseStunHandler(), and ClientNetworkCoordinatorSocketHandler::ConnectFailure().

Field Documentation

◆ family

uint8_t NetworkReuseStunConnecter::family
private

Family of this connection.

Definition at line 67 of file network_coordinator.cpp.

◆ token

std::string NetworkReuseStunConnecter::token
private

Token of this connection.

Definition at line 65 of file network_coordinator.cpp.

◆ tracking_number

uint8_t NetworkReuseStunConnecter::tracking_number
private

Tracking number of this connection.

Definition at line 66 of file network_coordinator.cpp.


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