|
OpenTTD Source 20260311-master-g511d3794ce
|
Template for TCP listeners. More...
#include <tcp_listen.h>
Static Public Member Functions | |
| static bool | ValidateClient (SOCKET s, NetworkAddress &address) |
| Check whether this client is allowed to connect, by both the banlist and maximum client count. | |
| 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. | |
Template for TCP listeners.
| Tsocket | The class we create sockets for. |
| Tfull_packet | The packet type to return when we don't allow more sockets. |
| Tban_packet | The packet type to return when the client is banned. |
Definition at line 28 of file tcp_listen.h.
|
inlinestatic |
Accepts clients from the sockets.
| ls | Socket to accept clients from. |
Definition at line 79 of file tcp_listen.h.
References _frame_counter, Debug, NetworkAddress::GetHostname(), SetNoDelay(), and SetNonBlocking().
Referenced by Receive().
|
inlinestatic |
Close the sockets we're listening on.
Definition at line 169 of file tcp_listen.h.
|
inlinestatic |
Listen on a particular port.
| port | The port to listen on. |
Definition at line 148 of file tcp_listen.h.
References Debug, GetBindAddresses(), and sockets.
|
inlinestatic |
Handle the receiving of packets.
Definition at line 106 of file tcp_listen.h.
References _networking, AcceptClient(), and sockets.
|
inlinestatic |
Check whether this client is allowed to connect, by both the banlist and maximum client count.
| s | The socket/network connection to the client. |
| address | The address of the client. |
true iff the client is allowed in. Definition at line 39 of file tcp_listen.h.
References _network_ban_list, Debug, NetworkError::GetLast(), NetworkAddress::IsInNetmask(), Packet::PrepareToSend(), and Packet::TransferOut().
|
staticprivate |
List of sockets we listen on.
Definition at line 30 of file tcp_listen.h.
Referenced by CloseListeners(), Listen(), and Receive().