OpenTTD Source 20260206-master-g4d4e37dbf1
TCPListenHandler< Tsocket, Tfull_packet, Tban_packet > Class Template Reference

Template for TCP listeners. More...

#include <tcp_listen.h>

Static Public Member Functions

static bool ValidateClient (SOCKET s, NetworkAddress &address)
static void AcceptClient (SOCKET ls)
 Accepts clients from the sockets.
static bool Receive ()
 Handle the receiving of packets.
static bool Listen (uint16_t port)
 Listen on a particular port.
static void CloseListeners ()
 Close the sockets we're listening on.

Static Private Attributes

static SocketList sockets
 List of sockets we listen on.

Detailed Description

template<class Tsocket, PacketType Tfull_packet, PacketType Tban_packet>
class TCPListenHandler< Tsocket, Tfull_packet, Tban_packet >

Template for TCP listeners.

Parameters
TsocketThe class we create sockets for.
Tfull_packetThe packet type to return when we don't allow more sockets.
Tban_packetThe packet type to return when the client is banned.

Definition at line 28 of file tcp_listen.h.

Member Function Documentation

◆ AcceptClient()

template<class Tsocket, PacketType Tfull_packet, PacketType Tban_packet>
void TCPListenHandler< Tsocket, Tfull_packet, Tban_packet >::AcceptClient ( SOCKET ls)
inlinestatic

Accepts clients from the sockets.

Parameters
lsSocket to accept clients from.

Definition at line 73 of file tcp_listen.h.

References _frame_counter, Debug, NetworkAddress::GetHostname(), SetNoDelay(), and SetNonBlocking().

Referenced by Receive().

◆ CloseListeners()

template<class Tsocket, PacketType Tfull_packet, PacketType Tban_packet>
void TCPListenHandler< Tsocket, Tfull_packet, Tban_packet >::CloseListeners ( )
inlinestatic

Close the sockets we're listening on.

Definition at line 163 of file tcp_listen.h.

References Debug, and sockets.

◆ Listen()

template<class Tsocket, PacketType Tfull_packet, PacketType Tban_packet>
bool TCPListenHandler< Tsocket, Tfull_packet, Tban_packet >::Listen ( uint16_t port)
inlinestatic

Listen on a particular port.

Parameters
portThe port to listen on.
Returns
true if listening succeeded.

Definition at line 142 of file tcp_listen.h.

References Debug, GetBindAddresses(), and sockets.

◆ Receive()

template<class Tsocket, PacketType Tfull_packet, PacketType Tban_packet>
bool TCPListenHandler< Tsocket, Tfull_packet, Tban_packet >::Receive ( )
inlinestatic

Handle the receiving of packets.

Returns
true if everything went okay.

Definition at line 100 of file tcp_listen.h.

References _networking, AcceptClient(), and sockets.

◆ ValidateClient()

template<class Tsocket, PacketType Tfull_packet, PacketType Tban_packet>
bool TCPListenHandler< Tsocket, Tfull_packet, Tban_packet >::ValidateClient ( SOCKET s,
NetworkAddress & address )
inlinestatic

Definition at line 33 of file tcp_listen.h.

Field Documentation

◆ sockets

template<class Tsocket, PacketType Tfull_packet, PacketType Tban_packet>
SocketList TCPListenHandler< Tsocket, Tfull_packet, Tban_packet >::sockets
staticprivate

List of sockets we listen on.

Definition at line 30 of file tcp_listen.h.

Referenced by CloseListeners(), Listen(), and Receive().


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