NetworkSocketHandler Class Reference

SocketHandler for all network sockets in OpenTTD. More...

#include <core.h>

Inheritance diagram for NetworkSocketHandler:
NetworkHTTPSocketHandler NetworkTCPSocketHandler NetworkUDPSocketHandler NetworkClientSocket NetworkContentSocketHandler ClientNetworkUDPSocketHandler MasterNetworkUDPSocketHandler ServerNetworkUDPSocketHandler ClientNetworkContentSocketHandler

Public Member Functions

 NetworkSocketHandler ()
 Create a new unbound socket.
virtual ~NetworkSocketHandler ()
 Close the socket when distructing the socket handler.
virtual void Close ()
 Really close the socket.
virtual NetworkRecvStatus CloseConnection (bool error=true)
 Close the current connection; for TCP this will be mostly equivalent to Close(), but for UDP it just means the packet has to be dropped.
bool HasClientQuit () const
 Whether the current client connected to the socket has quit.
void Reopen ()
 Reopen the socket so we can send/receive stuff again.
void Send_GRFIdentifier (Packet *p, const GRFIdentifier *grf)
 Serializes the GRFIdentifier (GRF ID and MD5 checksum) to the packet.
void Recv_GRFIdentifier (Packet *p, GRFIdentifier *grf)
 Deserializes the GRFIdentifier (GRF ID and MD5 checksum) from the packet.
void Send_CompanyInformation (Packet *p, const struct Company *c, const struct NetworkCompanyStats *stats)

Private Attributes

bool has_quit
 Whether the current client has quit/send a bad packet.

Detailed Description

SocketHandler for all network sockets in OpenTTD.

Definition at line 44 of file core.h.


Member Function Documentation

virtual NetworkRecvStatus NetworkSocketHandler::CloseConnection ( bool  error = true  )  [inline, virtual]

Close the current connection; for TCP this will be mostly equivalent to Close(), but for UDP it just means the packet has to be dropped.

Parameters:
error Whether we quit under an error condition or not.
Returns:
new status of the connection.

Reimplemented in NetworkTCPSocketHandler, NetworkClientSocket, NetworkHTTPSocketHandler, and NetworkUDPSocketHandler.

Definition at line 62 of file core.h.

References has_quit, and NETWORK_RECV_STATUS_OKAY.

bool NetworkSocketHandler::HasClientQuit (  )  const [inline]

Whether the current client connected to the socket has quit.

In the case of UDP, for example, once a client quits (send bad data), the socket in not closed; only the packet is dropped.

Returns:
true when the current client has quit, false otherwise

Definition at line 70 of file core.h.

References has_quit.

Referenced by Packet::CanReadFromPacket(), DEF_SERVER_RECEIVE_COMMAND(), NetworkContentSocketHandler::HandlePacket(), NetworkUDPSocketHandler::HandleUDPPacket(), and Packet::Recv_string().

void NetworkSocketHandler::Recv_GRFIdentifier ( Packet p,
GRFIdentifier grf 
)

Deserializes the GRFIdentifier (GRF ID and MD5 checksum) from the packet.

Parameters:
p the packet to read the data from
grf the GRFIdentifier to deserialize

Definition at line 120 of file core.cpp.

References GRFIdentifier::grfid, and GRFIdentifier::md5sum.

Referenced by NetworkUDPSocketHandler::Recv_NetworkGameInfo().

void NetworkSocketHandler::Send_GRFIdentifier ( Packet p,
const GRFIdentifier grf 
)

Serializes the GRFIdentifier (GRF ID and MD5 checksum) to the packet.

Parameters:
p the packet to write the data to
grf the GRFIdentifier to serialize

Definition at line 106 of file core.cpp.

References GRFIdentifier::grfid, and GRFIdentifier::md5sum.

Referenced by NetworkUDPSocketHandler::Send_NetworkGameInfo().


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

Generated on Sat Apr 17 23:25:34 2010 for OpenTTD by  doxygen 1.6.1