mirror of https://github.com/OpenTTD/OpenTTD
(svn r14721) -Codechange: s/NetworkTCPSocketHandler/NetworkClientSocket/ as it's (way) more descriptive what it's used for.
parent
d95a485108
commit
ae96ca635c
|
@ -18,7 +18,7 @@
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
/** Very ugly temporary hack !!! */
|
/** Very ugly temporary hack !!! */
|
||||||
void NetworkTCPSocketHandler::Initialize()
|
void NetworkClientSocket::Initialize()
|
||||||
{
|
{
|
||||||
this->sock = INVALID_SOCKET;
|
this->sock = INVALID_SOCKET;
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ void NetworkTCPSocketHandler::Initialize()
|
||||||
this->command_queue = NULL;
|
this->command_queue = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetworkTCPSocketHandler::Destroy()
|
void NetworkClientSocket::Destroy()
|
||||||
{
|
{
|
||||||
closesocket(this->sock);
|
closesocket(this->sock);
|
||||||
this->writable = false;
|
this->writable = false;
|
||||||
|
@ -67,7 +67,7 @@ void NetworkTCPSocketHandler::Destroy()
|
||||||
* @return the new status
|
* @return the new status
|
||||||
* TODO: needs to be splitted when using client and server socket packets
|
* TODO: needs to be splitted when using client and server socket packets
|
||||||
*/
|
*/
|
||||||
NetworkRecvStatus NetworkTCPSocketHandler::CloseConnection()
|
NetworkRecvStatus NetworkClientSocket::CloseConnection()
|
||||||
{
|
{
|
||||||
NetworkCloseClient(this);
|
NetworkCloseClient(this);
|
||||||
|
|
||||||
|
@ -90,7 +90,7 @@ NetworkRecvStatus NetworkTCPSocketHandler::CloseConnection()
|
||||||
* if the OS-network-buffer is full)
|
* if the OS-network-buffer is full)
|
||||||
* @param packet the packet to send
|
* @param packet the packet to send
|
||||||
*/
|
*/
|
||||||
void NetworkTCPSocketHandler::Send_Packet(Packet *packet)
|
void NetworkClientSocket::Send_Packet(Packet *packet)
|
||||||
{
|
{
|
||||||
Packet *p;
|
Packet *p;
|
||||||
assert(packet != NULL);
|
assert(packet != NULL);
|
||||||
|
@ -116,7 +116,7 @@ void NetworkTCPSocketHandler::Send_Packet(Packet *packet)
|
||||||
* data right now (full network-buffer, it happens ;))
|
* data right now (full network-buffer, it happens ;))
|
||||||
* 3) sending took too long
|
* 3) sending took too long
|
||||||
*/
|
*/
|
||||||
bool NetworkTCPSocketHandler::Send_Packets()
|
bool NetworkClientSocket::Send_Packets()
|
||||||
{
|
{
|
||||||
ssize_t res;
|
ssize_t res;
|
||||||
Packet *p;
|
Packet *p;
|
||||||
|
@ -165,7 +165,7 @@ bool NetworkTCPSocketHandler::Send_Packets()
|
||||||
* @param status the variable to store the status into
|
* @param status the variable to store the status into
|
||||||
* @return the received packet (or NULL when it didn't receive one)
|
* @return the received packet (or NULL when it didn't receive one)
|
||||||
*/
|
*/
|
||||||
Packet *NetworkTCPSocketHandler::Recv_Packet(NetworkRecvStatus *status)
|
Packet *NetworkClientSocket::Recv_Packet(NetworkRecvStatus *status)
|
||||||
{
|
{
|
||||||
ssize_t res;
|
ssize_t res;
|
||||||
Packet *p;
|
Packet *p;
|
||||||
|
@ -244,7 +244,7 @@ Packet *NetworkTCPSocketHandler::Recv_Packet(NetworkRecvStatus *status)
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NetworkTCPSocketHandler::IsPacketQueueEmpty()
|
bool NetworkClientSocket::IsPacketQueueEmpty()
|
||||||
{
|
{
|
||||||
return this->packet_queue == NULL;
|
return this->packet_queue == NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,7 +85,7 @@ enum ClientStatus {
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Base socket handler for all TCP sockets */
|
/** Base socket handler for all TCP sockets */
|
||||||
class NetworkTCPSocketHandler : public NetworkSocketHandler {
|
class NetworkClientSocket : public NetworkSocketHandler {
|
||||||
/* TODO: rewrite into a proper class */
|
/* TODO: rewrite into a proper class */
|
||||||
private:
|
private:
|
||||||
Packet *packet_queue; ///< Packets that are awaiting delivery
|
Packet *packet_queue; ///< Packets that are awaiting delivery
|
||||||
|
@ -114,7 +114,7 @@ public:
|
||||||
inline NetworkClientInfo *GetInfo() const
|
inline NetworkClientInfo *GetInfo() const
|
||||||
{
|
{
|
||||||
extern NetworkClientInfo _network_client_info[MAX_CLIENT_INFO];
|
extern NetworkClientInfo _network_client_info[MAX_CLIENT_INFO];
|
||||||
extern NetworkTCPSocketHandler _clients[MAX_CLIENTS];
|
extern NetworkClientSocket _clients[MAX_CLIENTS];
|
||||||
return &_network_client_info[this - _clients];
|
return &_network_client_info[this - _clients];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -85,7 +85,7 @@ extern NetworkUDPSocketHandler *_udp_master_socket; ///< udp master socket
|
||||||
|
|
||||||
// Here we keep track of the clients
|
// Here we keep track of the clients
|
||||||
// (and the client uses [0] for his own communication)
|
// (and the client uses [0] for his own communication)
|
||||||
NetworkTCPSocketHandler _clients[MAX_CLIENTS];
|
NetworkClientSocket _clients[MAX_CLIENTS];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -146,11 +146,11 @@ NetworkClientInfo *NetworkFindClientInfoFromIP(const char *ip)
|
||||||
/**
|
/**
|
||||||
* Return the client state given it's client-identifier
|
* Return the client state given it's client-identifier
|
||||||
* @param client_id the ClientID to search for
|
* @param client_id the ClientID to search for
|
||||||
* @return return a pointer to the corresponding NetworkTCPSocketHandler struct or NULL when not found
|
* @return return a pointer to the corresponding NetworkClientSocket struct or NULL when not found
|
||||||
*/
|
*/
|
||||||
NetworkTCPSocketHandler *NetworkFindClientStateFromClientID(ClientID client_id)
|
NetworkClientSocket *NetworkFindClientStateFromClientID(ClientID client_id)
|
||||||
{
|
{
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
|
|
||||||
FOR_ALL_CLIENT_SOCKETS(cs) {
|
FOR_ALL_CLIENT_SOCKETS(cs) {
|
||||||
if (cs->client_id == client_id) return cs;
|
if (cs->client_id == client_id) return cs;
|
||||||
|
@ -161,7 +161,7 @@ NetworkTCPSocketHandler *NetworkFindClientStateFromClientID(ClientID client_id)
|
||||||
|
|
||||||
// NetworkGetClientName is a server-safe function to get the name of the client
|
// NetworkGetClientName is a server-safe function to get the name of the client
|
||||||
// if the user did not send it yet, Client #<no> is used.
|
// if the user did not send it yet, Client #<no> is used.
|
||||||
void NetworkGetClientName(char *client_name, size_t size, const NetworkTCPSocketHandler *cs)
|
void NetworkGetClientName(char *client_name, size_t size, const NetworkClientSocket *cs)
|
||||||
{
|
{
|
||||||
const NetworkClientInfo *ci = cs->GetInfo();
|
const NetworkClientInfo *ci = cs->GetInfo();
|
||||||
|
|
||||||
|
@ -256,7 +256,7 @@ void CDECL NetworkTextMessage(NetworkAction action, ConsoleColour color, bool se
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate the frame-lag of a client
|
// Calculate the frame-lag of a client
|
||||||
uint NetworkCalculateLag(const NetworkTCPSocketHandler *cs)
|
uint NetworkCalculateLag(const NetworkClientSocket *cs)
|
||||||
{
|
{
|
||||||
int lag = cs->last_frame_server - cs->last_frame;
|
int lag = cs->last_frame_server - cs->last_frame;
|
||||||
// This client has missed his ACK packet after 1 DAY_TICKS..
|
// This client has missed his ACK packet after 1 DAY_TICKS..
|
||||||
|
@ -290,7 +290,7 @@ static void ServerStartError(const char *error)
|
||||||
NetworkError(STR_NETWORK_ERR_SERVER_START);
|
NetworkError(STR_NETWORK_ERR_SERVER_START);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void NetworkClientError(NetworkRecvStatus res, NetworkTCPSocketHandler* cs)
|
static void NetworkClientError(NetworkRecvStatus res, NetworkClientSocket* cs)
|
||||||
{
|
{
|
||||||
// First, send a CLIENT_ERROR to the server, so he knows we are
|
// First, send a CLIENT_ERROR to the server, so he knows we are
|
||||||
// disconnection (and why!)
|
// disconnection (and why!)
|
||||||
|
@ -417,9 +417,9 @@ void ParseConnectionString(const char **company, const char **port, char *connec
|
||||||
|
|
||||||
// Creates a new client from a socket
|
// Creates a new client from a socket
|
||||||
// Used both by the server and the client
|
// Used both by the server and the client
|
||||||
static NetworkTCPSocketHandler *NetworkAllocClient(SOCKET s)
|
static NetworkClientSocket *NetworkAllocClient(SOCKET s)
|
||||||
{
|
{
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
byte client_no = 0;
|
byte client_no = 0;
|
||||||
|
|
||||||
if (_network_server) {
|
if (_network_server) {
|
||||||
|
@ -453,7 +453,7 @@ static NetworkTCPSocketHandler *NetworkAllocClient(SOCKET s)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close a connection
|
// Close a connection
|
||||||
void NetworkCloseClient(NetworkTCPSocketHandler *cs)
|
void NetworkCloseClient(NetworkClientSocket *cs)
|
||||||
{
|
{
|
||||||
NetworkClientInfo *ci;
|
NetworkClientInfo *ci;
|
||||||
// Socket is already dead
|
// Socket is already dead
|
||||||
|
@ -469,7 +469,7 @@ void NetworkCloseClient(NetworkTCPSocketHandler *cs)
|
||||||
NetworkErrorCode errorno = NETWORK_ERROR_CONNECTION_LOST;
|
NetworkErrorCode errorno = NETWORK_ERROR_CONNECTION_LOST;
|
||||||
char str[100];
|
char str[100];
|
||||||
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
||||||
NetworkTCPSocketHandler *new_cs;
|
NetworkClientSocket *new_cs;
|
||||||
|
|
||||||
NetworkGetClientName(client_name, sizeof(client_name), cs);
|
NetworkGetClientName(client_name, sizeof(client_name), cs);
|
||||||
|
|
||||||
|
@ -559,7 +559,7 @@ static bool NetworkConnect(const char *hostname, int port)
|
||||||
static void NetworkAcceptClients()
|
static void NetworkAcceptClients()
|
||||||
{
|
{
|
||||||
struct sockaddr_in sin;
|
struct sockaddr_in sin;
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
uint i;
|
uint i;
|
||||||
bool banned;
|
bool banned;
|
||||||
|
|
||||||
|
@ -667,7 +667,7 @@ static bool NetworkListen()
|
||||||
// Close all current connections
|
// Close all current connections
|
||||||
static void NetworkClose()
|
static void NetworkClose()
|
||||||
{
|
{
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
|
|
||||||
FOR_ALL_CLIENT_SOCKETS(cs) {
|
FOR_ALL_CLIENT_SOCKETS(cs) {
|
||||||
if (!_network_server) {
|
if (!_network_server) {
|
||||||
|
@ -702,7 +702,7 @@ static void NetworkClose()
|
||||||
// Inits the network (cleans sockets and stuff)
|
// Inits the network (cleans sockets and stuff)
|
||||||
static void NetworkInitialize()
|
static void NetworkInitialize()
|
||||||
{
|
{
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
|
|
||||||
_local_command_queue = NULL;
|
_local_command_queue = NULL;
|
||||||
|
|
||||||
|
@ -890,7 +890,7 @@ bool NetworkServerStart()
|
||||||
void NetworkReboot()
|
void NetworkReboot()
|
||||||
{
|
{
|
||||||
if (_network_server) {
|
if (_network_server) {
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
FOR_ALL_CLIENT_SOCKETS(cs) {
|
FOR_ALL_CLIENT_SOCKETS(cs) {
|
||||||
SEND_COMMAND(PACKET_SERVER_NEWGAME)(cs);
|
SEND_COMMAND(PACKET_SERVER_NEWGAME)(cs);
|
||||||
cs->Send_Packets();
|
cs->Send_Packets();
|
||||||
|
@ -904,7 +904,7 @@ void NetworkReboot()
|
||||||
void NetworkDisconnect()
|
void NetworkDisconnect()
|
||||||
{
|
{
|
||||||
if (_network_server) {
|
if (_network_server) {
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
FOR_ALL_CLIENT_SOCKETS(cs) {
|
FOR_ALL_CLIENT_SOCKETS(cs) {
|
||||||
SEND_COMMAND(PACKET_SERVER_SHUTDOWN)(cs);
|
SEND_COMMAND(PACKET_SERVER_SHUTDOWN)(cs);
|
||||||
cs->Send_Packets();
|
cs->Send_Packets();
|
||||||
|
@ -921,7 +921,7 @@ void NetworkDisconnect()
|
||||||
// Receives something from the network
|
// Receives something from the network
|
||||||
static bool NetworkReceive()
|
static bool NetworkReceive()
|
||||||
{
|
{
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
int n;
|
int n;
|
||||||
fd_set read_fd, write_fd;
|
fd_set read_fd, write_fd;
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
|
@ -976,7 +976,7 @@ static bool NetworkReceive()
|
||||||
// This sends all buffered commands (if possible)
|
// This sends all buffered commands (if possible)
|
||||||
static void NetworkSend()
|
static void NetworkSend()
|
||||||
{
|
{
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
FOR_ALL_CLIENT_SOCKETS(cs) {
|
FOR_ALL_CLIENT_SOCKETS(cs) {
|
||||||
if (cs->writable) {
|
if (cs->writable) {
|
||||||
cs->Send_Packets();
|
cs->Send_Packets();
|
||||||
|
|
|
@ -901,7 +901,7 @@ void NetworkClient_Connected()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reads the packets from the socket-stream, if available
|
// Reads the packets from the socket-stream, if available
|
||||||
NetworkRecvStatus NetworkClient_ReadPackets(NetworkTCPSocketHandler *cs)
|
NetworkRecvStatus NetworkClient_ReadPackets(NetworkClientSocket *cs)
|
||||||
{
|
{
|
||||||
Packet *p;
|
Packet *p;
|
||||||
NetworkRecvStatus res = NETWORK_RECV_STATUS_OKAY;
|
NetworkRecvStatus res = NETWORK_RECV_STATUS_OKAY;
|
||||||
|
|
|
@ -19,7 +19,7 @@ DEF_CLIENT_SEND_COMMAND_PARAM(PACKET_CLIENT_SET_NAME)(const char *name);
|
||||||
DEF_CLIENT_SEND_COMMAND(PACKET_CLIENT_ACK);
|
DEF_CLIENT_SEND_COMMAND(PACKET_CLIENT_ACK);
|
||||||
DEF_CLIENT_SEND_COMMAND_PARAM(PACKET_CLIENT_RCON)(const char *pass, const char *command);
|
DEF_CLIENT_SEND_COMMAND_PARAM(PACKET_CLIENT_RCON)(const char *pass, const char *command);
|
||||||
|
|
||||||
NetworkRecvStatus NetworkClient_ReadPackets(NetworkTCPSocketHandler *cs);
|
NetworkRecvStatus NetworkClient_ReadPackets(NetworkClientSocket *cs);
|
||||||
void NetworkClient_Connected();
|
void NetworkClient_Connected();
|
||||||
|
|
||||||
#endif /* ENABLE_NETWORK */
|
#endif /* ENABLE_NETWORK */
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#include "../company_func.h"
|
#include "../company_func.h"
|
||||||
|
|
||||||
// Add a command to the local command queue
|
// Add a command to the local command queue
|
||||||
void NetworkAddCommandQueue(NetworkTCPSocketHandler *cs, CommandPacket *cp)
|
void NetworkAddCommandQueue(NetworkClientSocket *cs, CommandPacket *cp)
|
||||||
{
|
{
|
||||||
CommandPacket* new_cp = MallocT<CommandPacket>(1);
|
CommandPacket* new_cp = MallocT<CommandPacket>(1);
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ void NetworkSend_Command(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, Comma
|
||||||
/* Only the local client (in this case, the server) gets the callback */
|
/* Only the local client (in this case, the server) gets the callback */
|
||||||
c.callback = 0;
|
c.callback = 0;
|
||||||
/* And we queue it for delivery to the clients */
|
/* And we queue it for delivery to the clients */
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
FOR_ALL_CLIENT_SOCKETS(cs) {
|
FOR_ALL_CLIENT_SOCKETS(cs) {
|
||||||
if (cs->status > STATUS_MAP_WAIT) NetworkAddCommandQueue(cs, &c);
|
if (cs->status > STATUS_MAP_WAIT) NetworkAddCommandQueue(cs, &c);
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,7 +125,7 @@ extern CommandPacket *_local_command_queue;
|
||||||
|
|
||||||
// Here we keep track of the clients
|
// Here we keep track of the clients
|
||||||
// (and the client uses [0] for his own communication)
|
// (and the client uses [0] for his own communication)
|
||||||
extern NetworkTCPSocketHandler _clients[MAX_CLIENTS];
|
extern NetworkClientSocket _clients[MAX_CLIENTS];
|
||||||
|
|
||||||
void NetworkTCPQueryServer(const char* host, unsigned short port);
|
void NetworkTCPQueryServer(const char* host, unsigned short port);
|
||||||
|
|
||||||
|
@ -136,15 +136,15 @@ void UpdateNetworkGameWindow(bool unselect);
|
||||||
bool IsNetworkCompatibleVersion(const char *version);
|
bool IsNetworkCompatibleVersion(const char *version);
|
||||||
|
|
||||||
void NetworkExecuteCommand(CommandPacket *cp);
|
void NetworkExecuteCommand(CommandPacket *cp);
|
||||||
void NetworkAddCommandQueue(NetworkTCPSocketHandler *cs, CommandPacket *cp);
|
void NetworkAddCommandQueue(NetworkClientSocket *cs, CommandPacket *cp);
|
||||||
|
|
||||||
// from network.c
|
// from network.c
|
||||||
void NetworkCloseClient(NetworkTCPSocketHandler *cs);
|
void NetworkCloseClient(NetworkClientSocket *cs);
|
||||||
void CDECL NetworkTextMessage(NetworkAction action, ConsoleColour color, bool self_send, const char *name, const char *str, ...);
|
void CDECL NetworkTextMessage(NetworkAction action, ConsoleColour color, bool self_send, const char *name, const char *str, ...);
|
||||||
void NetworkGetClientName(char *clientname, size_t size, const NetworkTCPSocketHandler *cs);
|
void NetworkGetClientName(char *clientname, size_t size, const NetworkClientSocket *cs);
|
||||||
uint NetworkCalculateLag(const NetworkTCPSocketHandler *cs);
|
uint NetworkCalculateLag(const NetworkClientSocket *cs);
|
||||||
byte NetworkGetCurrentLanguageIndex();
|
byte NetworkGetCurrentLanguageIndex();
|
||||||
NetworkTCPSocketHandler *NetworkFindClientStateFromClientID(ClientID client_id);
|
NetworkClientSocket *NetworkFindClientStateFromClientID(ClientID client_id);
|
||||||
char* GetNetworkErrorMsg(char* buf, NetworkErrorCode err, const char* last);
|
char* GetNetworkErrorMsg(char* buf, NetworkErrorCode err, const char* last);
|
||||||
bool NetworkFindName(char new_name[NETWORK_CLIENT_NAME_LENGTH]);
|
bool NetworkFindName(char new_name[NETWORK_CLIENT_NAME_LENGTH]);
|
||||||
|
|
||||||
|
@ -154,8 +154,8 @@ bool NetworkFindName(char new_name[NETWORK_CLIENT_NAME_LENGTH]);
|
||||||
#define DEF_CLIENT_RECEIVE_COMMAND(type) NetworkRecvStatus NetworkPacketReceive_ ## type ## _command(Packet *p)
|
#define DEF_CLIENT_RECEIVE_COMMAND(type) NetworkRecvStatus NetworkPacketReceive_ ## type ## _command(Packet *p)
|
||||||
#define DEF_CLIENT_SEND_COMMAND(type) void NetworkPacketSend_ ## type ## _command()
|
#define DEF_CLIENT_SEND_COMMAND(type) void NetworkPacketSend_ ## type ## _command()
|
||||||
#define DEF_CLIENT_SEND_COMMAND_PARAM(type) void NetworkPacketSend_ ## type ## _command
|
#define DEF_CLIENT_SEND_COMMAND_PARAM(type) void NetworkPacketSend_ ## type ## _command
|
||||||
#define DEF_SERVER_RECEIVE_COMMAND(type) void NetworkPacketReceive_ ## type ## _command(NetworkTCPSocketHandler *cs, Packet *p)
|
#define DEF_SERVER_RECEIVE_COMMAND(type) void NetworkPacketReceive_ ## type ## _command(NetworkClientSocket *cs, Packet *p)
|
||||||
#define DEF_SERVER_SEND_COMMAND(type) void NetworkPacketSend_ ## type ## _command(NetworkTCPSocketHandler *cs)
|
#define DEF_SERVER_SEND_COMMAND(type) void NetworkPacketSend_ ## type ## _command(NetworkClientSocket *cs)
|
||||||
#define DEF_SERVER_SEND_COMMAND_PARAM(type) void NetworkPacketSend_ ## type ## _command
|
#define DEF_SERVER_SEND_COMMAND_PARAM(type) void NetworkPacketSend_ ## type ## _command
|
||||||
|
|
||||||
#define SEND_COMMAND(type) NetworkPacketSend_ ## type ## _command
|
#define SEND_COMMAND(type) NetworkPacketSend_ ## type ## _command
|
||||||
|
|
|
@ -33,14 +33,14 @@
|
||||||
|
|
||||||
// This file handles all the server-commands
|
// This file handles all the server-commands
|
||||||
|
|
||||||
static void NetworkHandleCommandQueue(NetworkTCPSocketHandler* cs);
|
static void NetworkHandleCommandQueue(NetworkClientSocket* cs);
|
||||||
|
|
||||||
// **********
|
// **********
|
||||||
// Sending functions
|
// Sending functions
|
||||||
// DEF_SERVER_SEND_COMMAND has parameter: NetworkTCPSocketHandler *cs
|
// DEF_SERVER_SEND_COMMAND has parameter: NetworkClientSocket *cs
|
||||||
// **********
|
// **********
|
||||||
|
|
||||||
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CLIENT_INFO)(NetworkTCPSocketHandler *cs, NetworkClientInfo *ci)
|
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CLIENT_INFO)(NetworkClientSocket *cs, NetworkClientInfo *ci)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Packet: SERVER_CLIENT_INFO
|
// Packet: SERVER_CLIENT_INFO
|
||||||
|
@ -75,7 +75,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_COMPANY_INFO)
|
||||||
|
|
||||||
/* Make a list of all clients per company */
|
/* Make a list of all clients per company */
|
||||||
char clients[MAX_COMPANIES][NETWORK_CLIENTS_LENGTH];
|
char clients[MAX_COMPANIES][NETWORK_CLIENTS_LENGTH];
|
||||||
NetworkTCPSocketHandler *csi;
|
NetworkClientSocket *csi;
|
||||||
memset(clients, 0, sizeof(clients));
|
memset(clients, 0, sizeof(clients));
|
||||||
|
|
||||||
/* Add the local player (if not dedicated) */
|
/* Add the local player (if not dedicated) */
|
||||||
|
@ -128,7 +128,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_COMPANY_INFO)
|
||||||
cs->Send_Packet(p);
|
cs->Send_Packet(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR)(NetworkTCPSocketHandler *cs, NetworkErrorCode error)
|
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR)(NetworkClientSocket *cs, NetworkErrorCode error)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Packet: SERVER_ERROR
|
// Packet: SERVER_ERROR
|
||||||
|
@ -147,7 +147,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR)(NetworkTCPSocketHandler *cs,
|
||||||
|
|
||||||
// Only send when the current client was in game
|
// Only send when the current client was in game
|
||||||
if (cs->status > STATUS_AUTH) {
|
if (cs->status > STATUS_AUTH) {
|
||||||
NetworkTCPSocketHandler *new_cs;
|
NetworkClientSocket *new_cs;
|
||||||
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
||||||
|
|
||||||
NetworkGetClientName(client_name, sizeof(client_name), cs);
|
NetworkGetClientName(client_name, sizeof(client_name), cs);
|
||||||
|
@ -179,7 +179,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR)(NetworkTCPSocketHandler *cs,
|
||||||
NetworkCloseClient(cs);
|
NetworkCloseClient(cs);
|
||||||
}
|
}
|
||||||
|
|
||||||
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CHECK_NEWGRFS)(NetworkTCPSocketHandler *cs)
|
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CHECK_NEWGRFS)(NetworkClientSocket *cs)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Packet: PACKET_SERVER_CHECK_NEWGRFS
|
// Packet: PACKET_SERVER_CHECK_NEWGRFS
|
||||||
|
@ -207,7 +207,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CHECK_NEWGRFS)(NetworkTCPSocketHandl
|
||||||
cs->Send_Packet(p);
|
cs->Send_Packet(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_NEED_PASSWORD)(NetworkTCPSocketHandler *cs, NetworkPasswordType type)
|
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_NEED_PASSWORD)(NetworkClientSocket *cs, NetworkPasswordType type)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Packet: SERVER_NEED_PASSWORD
|
// Packet: SERVER_NEED_PASSWORD
|
||||||
|
@ -238,7 +238,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_WELCOME)
|
||||||
//
|
//
|
||||||
|
|
||||||
Packet *p;
|
Packet *p;
|
||||||
NetworkTCPSocketHandler *new_cs;
|
NetworkClientSocket *new_cs;
|
||||||
|
|
||||||
// Invalid packet when status is AUTH or higher
|
// Invalid packet when status is AUTH or higher
|
||||||
if (cs->status >= STATUS_AUTH) return;
|
if (cs->status >= STATUS_AUTH) return;
|
||||||
|
@ -271,7 +271,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_WAIT)
|
||||||
// uint8: Clients awaiting map
|
// uint8: Clients awaiting map
|
||||||
//
|
//
|
||||||
int waiting = 0;
|
int waiting = 0;
|
||||||
NetworkTCPSocketHandler *new_cs;
|
NetworkClientSocket *new_cs;
|
||||||
Packet *p;
|
Packet *p;
|
||||||
|
|
||||||
// Count how many clients are waiting in the queue
|
// Count how many clients are waiting in the queue
|
||||||
|
@ -363,7 +363,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_MAP)
|
||||||
fclose(file_pointer);
|
fclose(file_pointer);
|
||||||
|
|
||||||
{
|
{
|
||||||
NetworkTCPSocketHandler *new_cs;
|
NetworkClientSocket *new_cs;
|
||||||
bool new_map_client = false;
|
bool new_map_client = false;
|
||||||
// Check if there is a client waiting for receiving the map
|
// Check if there is a client waiting for receiving the map
|
||||||
// and start sending him the map
|
// and start sending him the map
|
||||||
|
@ -400,7 +400,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_MAP)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_JOIN)(NetworkTCPSocketHandler *cs, ClientID client_id)
|
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_JOIN)(NetworkClientSocket *cs, ClientID client_id)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Packet: SERVER_JOIN
|
// Packet: SERVER_JOIN
|
||||||
|
@ -466,7 +466,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_SYNC)
|
||||||
cs->Send_Packet(p);
|
cs->Send_Packet(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_COMMAND)(NetworkTCPSocketHandler *cs, CommandPacket *cp)
|
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_COMMAND)(NetworkClientSocket *cs, CommandPacket *cp)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Packet: SERVER_COMMAND
|
// Packet: SERVER_COMMAND
|
||||||
|
@ -497,7 +497,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_COMMAND)(NetworkTCPSocketHandler *cs
|
||||||
cs->Send_Packet(p);
|
cs->Send_Packet(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CHAT)(NetworkTCPSocketHandler *cs, NetworkAction action, ClientID client_id, bool self_send, const char *msg)
|
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CHAT)(NetworkClientSocket *cs, NetworkAction action, ClientID client_id, bool self_send, const char *msg)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Packet: SERVER_CHAT
|
// Packet: SERVER_CHAT
|
||||||
|
@ -518,7 +518,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CHAT)(NetworkTCPSocketHandler *cs, N
|
||||||
cs->Send_Packet(p);
|
cs->Send_Packet(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR_QUIT)(NetworkTCPSocketHandler *cs, ClientID client_id, NetworkErrorCode errorno)
|
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR_QUIT)(NetworkClientSocket *cs, ClientID client_id, NetworkErrorCode errorno)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Packet: SERVER_ERROR_QUIT
|
// Packet: SERVER_ERROR_QUIT
|
||||||
|
@ -537,7 +537,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR_QUIT)(NetworkTCPSocketHandler
|
||||||
cs->Send_Packet(p);
|
cs->Send_Packet(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_QUIT)(NetworkTCPSocketHandler *cs, ClientID client_id, const char *leavemsg)
|
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_QUIT)(NetworkClientSocket *cs, ClientID client_id, const char *leavemsg)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Packet: SERVER_ERROR_QUIT
|
// Packet: SERVER_ERROR_QUIT
|
||||||
|
@ -582,7 +582,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_NEWGAME)
|
||||||
cs->Send_Packet(p);
|
cs->Send_Packet(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_RCON)(NetworkTCPSocketHandler *cs, uint16 color, const char *command)
|
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_RCON)(NetworkClientSocket *cs, uint16 color, const char *command)
|
||||||
{
|
{
|
||||||
Packet *p = NetworkSend_Init(PACKET_SERVER_RCON);
|
Packet *p = NetworkSend_Init(PACKET_SERVER_RCON);
|
||||||
|
|
||||||
|
@ -593,7 +593,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_RCON)(NetworkTCPSocketHandler *cs, u
|
||||||
|
|
||||||
// **********
|
// **********
|
||||||
// Receiving functions
|
// Receiving functions
|
||||||
// DEF_SERVER_RECEIVE_COMMAND has parameter: NetworkTCPSocketHandler *cs, Packet *p
|
// DEF_SERVER_RECEIVE_COMMAND has parameter: NetworkClientSocket *cs, Packet *p
|
||||||
// **********
|
// **********
|
||||||
|
|
||||||
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMPANY_INFO)
|
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMPANY_INFO)
|
||||||
|
@ -749,7 +749,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_PASSWORD)
|
||||||
|
|
||||||
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_GETMAP)
|
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_GETMAP)
|
||||||
{
|
{
|
||||||
NetworkTCPSocketHandler *new_cs;
|
NetworkClientSocket *new_cs;
|
||||||
|
|
||||||
// The client was never joined.. so this is impossible, right?
|
// The client was never joined.. so this is impossible, right?
|
||||||
// Ignore the packet, give the client a warning, and close his connection
|
// Ignore the packet, give the client a warning, and close his connection
|
||||||
|
@ -777,7 +777,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_MAP_OK)
|
||||||
// Client has the map, now start syncing
|
// Client has the map, now start syncing
|
||||||
if (cs->status == STATUS_DONE_MAP && !cs->has_quit) {
|
if (cs->status == STATUS_DONE_MAP && !cs->has_quit) {
|
||||||
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
||||||
NetworkTCPSocketHandler *new_cs;
|
NetworkClientSocket *new_cs;
|
||||||
|
|
||||||
NetworkGetClientName(client_name, sizeof(client_name), cs);
|
NetworkGetClientName(client_name, sizeof(client_name), cs);
|
||||||
|
|
||||||
|
@ -847,7 +847,7 @@ static bool CheckCommandFlags(const CommandPacket *cp, const NetworkClientInfo *
|
||||||
*/
|
*/
|
||||||
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMMAND)
|
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMMAND)
|
||||||
{
|
{
|
||||||
NetworkTCPSocketHandler *new_cs;
|
NetworkClientSocket *new_cs;
|
||||||
const NetworkClientInfo *ci;
|
const NetworkClientInfo *ci;
|
||||||
byte callback;
|
byte callback;
|
||||||
|
|
||||||
|
@ -954,7 +954,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_ERROR)
|
||||||
{
|
{
|
||||||
// This packets means a client noticed an error and is reporting this
|
// This packets means a client noticed an error and is reporting this
|
||||||
// to us. Display the error and report it to the other clients
|
// to us. Display the error and report it to the other clients
|
||||||
NetworkTCPSocketHandler *new_cs;
|
NetworkClientSocket *new_cs;
|
||||||
char str[100];
|
char str[100];
|
||||||
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
||||||
NetworkErrorCode errorno = (NetworkErrorCode)p->Recv_uint8();
|
NetworkErrorCode errorno = (NetworkErrorCode)p->Recv_uint8();
|
||||||
|
@ -986,7 +986,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_QUIT)
|
||||||
{
|
{
|
||||||
// The client wants to leave. Display this and report it to the other
|
// The client wants to leave. Display this and report it to the other
|
||||||
// clients.
|
// clients.
|
||||||
NetworkTCPSocketHandler *new_cs;
|
NetworkClientSocket *new_cs;
|
||||||
char str[100];
|
char str[100];
|
||||||
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
||||||
|
|
||||||
|
@ -1050,7 +1050,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_ACK)
|
||||||
|
|
||||||
void NetworkServerSendChat(NetworkAction action, DestType desttype, int dest, const char *msg, ClientID from_id)
|
void NetworkServerSendChat(NetworkAction action, DestType desttype, int dest, const char *msg, ClientID from_id)
|
||||||
{
|
{
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
const NetworkClientInfo *ci, *ci_own, *ci_to;
|
const NetworkClientInfo *ci, *ci_own, *ci_to;
|
||||||
|
|
||||||
switch (desttype) {
|
switch (desttype) {
|
||||||
|
@ -1246,7 +1246,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_RCON)
|
||||||
}
|
}
|
||||||
|
|
||||||
// The layout for the receive-functions by the server
|
// The layout for the receive-functions by the server
|
||||||
typedef void NetworkServerPacket(NetworkTCPSocketHandler *cs, Packet *p);
|
typedef void NetworkServerPacket(NetworkClientSocket *cs, Packet *p);
|
||||||
|
|
||||||
|
|
||||||
// This array matches PacketType. At an incoming
|
// This array matches PacketType. At an incoming
|
||||||
|
@ -1335,7 +1335,7 @@ void NetworkPopulateCompanyStats(NetworkCompanyStats *stats)
|
||||||
// Send a packet to all clients with updated info about this client_id
|
// Send a packet to all clients with updated info about this client_id
|
||||||
void NetworkUpdateClientInfo(ClientID client_id)
|
void NetworkUpdateClientInfo(ClientID client_id)
|
||||||
{
|
{
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
NetworkClientInfo *ci = NetworkFindClientInfoFromClientID(client_id);
|
NetworkClientInfo *ci = NetworkFindClientInfoFromClientID(client_id);
|
||||||
|
|
||||||
if (ci == NULL) return;
|
if (ci == NULL) return;
|
||||||
|
@ -1450,7 +1450,7 @@ bool NetworkFindName(char new_name[NETWORK_CLIENT_NAME_LENGTH])
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reads a packet from the stream
|
// Reads a packet from the stream
|
||||||
bool NetworkServer_ReadPackets(NetworkTCPSocketHandler *cs)
|
bool NetworkServer_ReadPackets(NetworkClientSocket *cs)
|
||||||
{
|
{
|
||||||
Packet *p;
|
Packet *p;
|
||||||
NetworkRecvStatus res;
|
NetworkRecvStatus res;
|
||||||
|
@ -1468,7 +1468,7 @@ bool NetworkServer_ReadPackets(NetworkTCPSocketHandler *cs)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle the local command-queue
|
// Handle the local command-queue
|
||||||
static void NetworkHandleCommandQueue(NetworkTCPSocketHandler* cs)
|
static void NetworkHandleCommandQueue(NetworkClientSocket* cs)
|
||||||
{
|
{
|
||||||
CommandPacket *cp;
|
CommandPacket *cp;
|
||||||
|
|
||||||
|
@ -1483,7 +1483,7 @@ static void NetworkHandleCommandQueue(NetworkTCPSocketHandler* cs)
|
||||||
// This is called every tick if this is a _network_server
|
// This is called every tick if this is a _network_server
|
||||||
void NetworkServer_Tick(bool send_frame)
|
void NetworkServer_Tick(bool send_frame)
|
||||||
{
|
{
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
#ifndef ENABLE_NETWORK_SYNC_EVERY_FRAME
|
#ifndef ENABLE_NETWORK_SYNC_EVERY_FRAME
|
||||||
bool send_sync = false;
|
bool send_sync = false;
|
||||||
#endif
|
#endif
|
||||||
|
@ -1603,7 +1603,7 @@ void NetworkServerShowStatusToConsole()
|
||||||
"active"
|
"active"
|
||||||
};
|
};
|
||||||
|
|
||||||
NetworkTCPSocketHandler *cs;
|
NetworkClientSocket *cs;
|
||||||
FOR_ALL_CLIENT_SOCKETS(cs) {
|
FOR_ALL_CLIENT_SOCKETS(cs) {
|
||||||
int lag = NetworkCalculateLag(cs);
|
int lag = NetworkCalculateLag(cs);
|
||||||
const NetworkClientInfo *ci = cs->GetInfo();
|
const NetworkClientInfo *ci = cs->GetInfo();
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
#ifdef ENABLE_NETWORK
|
#ifdef ENABLE_NETWORK
|
||||||
|
|
||||||
DEF_SERVER_SEND_COMMAND(PACKET_SERVER_MAP);
|
DEF_SERVER_SEND_COMMAND(PACKET_SERVER_MAP);
|
||||||
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR_QUIT)(NetworkTCPSocketHandler *cs, ClientID client_id, NetworkErrorCode errorno);
|
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR_QUIT)(NetworkClientSocket *cs, ClientID client_id, NetworkErrorCode errorno);
|
||||||
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR)(NetworkTCPSocketHandler *cs, NetworkErrorCode error);
|
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR)(NetworkClientSocket *cs, NetworkErrorCode error);
|
||||||
DEF_SERVER_SEND_COMMAND(PACKET_SERVER_SHUTDOWN);
|
DEF_SERVER_SEND_COMMAND(PACKET_SERVER_SHUTDOWN);
|
||||||
DEF_SERVER_SEND_COMMAND(PACKET_SERVER_NEWGAME);
|
DEF_SERVER_SEND_COMMAND(PACKET_SERVER_NEWGAME);
|
||||||
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_RCON)(NetworkTCPSocketHandler *cs, uint16 color, const char *command);
|
DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_RCON)(NetworkClientSocket *cs, uint16 color, const char *command);
|
||||||
|
|
||||||
bool NetworkServer_ReadPackets(NetworkTCPSocketHandler *cs);
|
bool NetworkServer_ReadPackets(NetworkClientSocket *cs);
|
||||||
void NetworkServer_Tick(bool send_frame);
|
void NetworkServer_Tick(bool send_frame);
|
||||||
|
|
||||||
#else /* ENABLE_NETWORK */
|
#else /* ENABLE_NETWORK */
|
||||||
|
|
Loading…
Reference in New Issue