NetworkClientSocket Class Reference

Base socket handler for all TCP sockets. More...

#include <tcp_game.h>

Inheritance diagram for NetworkClientSocket:
Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_networkclientsocket_pool > NetworkTCPSocketHandler NetworkSocketHandler

Public Member Functions

NetworkRecvStatus CloseConnection (bool error=true)
 Functions to help NetworkRecv_Packet/NetworkSend_Packet a bit A socket can make errors.
 NetworkClientSocket (ClientID client_id=INVALID_CLIENT_ID)
void SetInfo (NetworkClientInfo *info)
NetworkClientInfoGetInfo () const
const char * Recv_Command (Packet *p, CommandPacket *cp)
 Receives a command from the network.
void Send_Command (Packet *p, const CommandPacket *cp)
 Sends a command over the network.

Data Fields

ClientID client_id
 Client identifier.
uint32 last_frame
 Last frame we have executed.
uint32 last_frame_server
 Last frame the server has executed.
byte lag_test
 Byte used for lag-testing the client.
ClientStatus status
 Status of this client.
CommandPacketcommand_queue
 The command-queue awaiting delivery.

Private Attributes

NetworkClientInfoinfo
 Client info related to this socket.

Detailed Description

Base socket handler for all TCP sockets.

Definition at line 92 of file tcp_game.h.


Member Function Documentation

NetworkRecvStatus NetworkClientSocket::CloseConnection ( bool  error = true  )  [virtual]

Functions to help NetworkRecv_Packet/NetworkSend_Packet a bit A socket can make errors.

When that happens this handles what to do. For clients: close connection and drop back to main-menu For servers: close connection and that is it

Returns:
the new status TODO: needs to be splitted when using client and server socket packets

Reimplemented from NetworkTCPSocketHandler.

Definition at line 58 of file tcp_game.cpp.

References _network_server, _networking, _switch_mode, NETWORK_RECV_STATUS_CONN_LOST, and NETWORK_RECV_STATUS_SERVER_ERROR.

const char * NetworkClientSocket::Recv_Command ( Packet p,
CommandPacket cp 
)

Receives a command from the network.

Parameters:
p the packet to read from.
cp the struct to write the data to.
Returns:
an error message. When NULL there has been no error.

Definition at line 178 of file network_command.cpp.

References _callback_table, CommandContainer::callback, CommandContainer::cmd, CMD_FLAGS_MASK, CMD_OFFLINE, CommandPacket::company, GetCommandFlags(), IsValidCommand(), lengthof, CommandContainer::p1, CommandContainer::p2, Packet::Recv_string(), CommandContainer::text, and CommandContainer::tile.

Referenced by DEF_SERVER_RECEIVE_COMMAND().

void NetworkClientSocket::Send_Command ( Packet p,
const CommandPacket cp 
)

Sends a command over the network.

Parameters:
p the packet to send it in.
cp the packet to actually send.

Definition at line 203 of file network_command.cpp.

References _callback_table, CommandContainer::callback, CommandContainer::cmd, CommandPacket::company, lengthof, CommandContainer::p1, CommandContainer::p2, Packet::Send_string(), CommandContainer::text, and CommandContainer::tile.


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

Generated on Wed Mar 3 23:33:18 2010 for OpenTTD by  doxygen 1.6.1