OpenTTD Source 20260208-master-g43af8e94d0
tcp_turn.h
Go to the documentation of this file.
1/*
2 * This file is part of OpenTTD.
3 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
6 */
7
9
10#ifndef NETWORK_CORE_TCP_TURN_H
11#define NETWORK_CORE_TCP_TURN_H
12
13#include "os_abstraction.h"
14#include "tcp.h"
15#include "packet.h"
16#include "network_game_info.h"
17
25
28protected:
30
39 virtual bool Receive_TURN_ERROR(Packet &p);
40
51 virtual bool Receive_SERCLI_CONNECT(Packet &p);
52
63 virtual bool Receive_TURN_CONNECTED(Packet &p);
64
65 bool HandlePacket(Packet &p);
66public:
71 NetworkTurnSocketHandler(SOCKET s = INVALID_SOCKET) : NetworkTCPSocketHandler(s) {}
72
73 bool ReceivePackets();
74};
75
76#endif /* NETWORK_CORE_TCP_TURN_H */
NetworkTCPSocketHandler(SOCKET s=INVALID_SOCKET)
Construct a socket handler for a TCP connection.
Definition tcp.h:65
virtual bool Receive_SERCLI_CONNECT(Packet &p)
Client or servers wants to connect to the TURN server (on request by the Game Coordinator).
Definition tcp_turn.cpp:67
bool ReceivePackets()
Receive a packet at TCP level.
Definition tcp_turn.cpp:42
virtual bool Receive_TURN_CONNECTED(Packet &p)
TURN server has connected client and server together and will now relay all packets to each other.
Definition tcp_turn.cpp:68
virtual bool Receive_TURN_ERROR(Packet &p)
TURN server was unable to connect the client or server based on the token.
Definition tcp_turn.cpp:66
bool ReceiveInvalidPacket(PacketTurnType type)
Helper for logging receiving invalid packets.
Definition tcp_turn.cpp:60
bool HandlePacket(Packet &p)
Handle the given packet, i.e.
Definition tcp_turn.cpp:23
NetworkTurnSocketHandler(SOCKET s=INVALID_SOCKET)
Create a new cs socket handler for a given cs.
Definition tcp_turn.h:71
Convert NetworkGameInfo to Packet and back.
Includes and/or implementations for the network stuff.
Basic functions to create, fill and read packets.
Basic functions to receive and send TCP packets.
PacketTurnType
Enum with all types of TCP TURN packets.
Definition tcp_turn.h:19
@ PACKET_TURN_TURN_CONNECTED
TURN server indicates the socket is now being relayed.
Definition tcp_turn.h:22
@ PACKET_TURN_SERCLI_CONNECT
Client or server is connecting to the TURN server.
Definition tcp_turn.h:21
@ PACKET_TURN_TURN_ERROR
TURN server is unable to relay.
Definition tcp_turn.h:20
@ PACKET_TURN_END
Must ALWAYS be on the end of this list!! (period).
Definition tcp_turn.h:23