Public Member Functions | Private Attributes

# NetworkSocketHandler Class Reference

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

`#include <core.h>`

Inheritance diagram for NetworkSocketHandler:

## Public Member Functions
| NetworkSocketHandler ()
| Create a new unbound socket.
virtual | ~NetworkSocketHandler ()
| Close the socket when destructing 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 | SendGRFIdentifier (Packet *p, const GRFIdentifier *grf)
| Serializes the GRFIdentifier (GRF ID and MD5 checksum) to the packet.
void | ReceiveGRFIdentifier (Packet *p, GRFIdentifier *grf)
| Deserializes the GRFIdentifier (GRF ID and MD5 checksum) from the packet.
void | SendCompanyInformation (Packet *p, const struct Company *c, const struct NetworkCompanyStats *stats, uint max_len=NETWORK_COMPANY_NAME_LENGTH)
## 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 45 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, NetworkAdminSocketHandler, NetworkGameSocketHandler, NetworkHTTPSocketHandler, and NetworkUDPSocketHandler.

Definition at line 63 of file core.h.

References has_quit.

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 71 of file core.h.

References has_quit.

Referenced by Packet::CanReadFromPacket(), NetworkGameSocketHandler::HandlePacket(), NetworkContentSocketHandler::HandlePacket(), NetworkAdminSocketHandler::HandlePacket(), NetworkUDPSocketHandler::HandleUDPPacket(), ServerNetworkGameSocketHandler::Receive_CLIENT_COMMAND(), ClientNetworkUDPSocketHandler::Receive_MASTER_RESPONSE_LIST(), ClientNetworkGameSocketHandler::Receive_SERVER_CLIENT_INFO(), ClientNetworkGameSocketHandler::Receive_SERVER_COMPANY_INFO(), ClientNetworkGameSocketHandler::Receive_SERVER_NEED_COMPANY_PASSWORD(), and Packet::Recv_string().

void NetworkSocketHandler::ReceiveGRFIdentifier | ( | 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, GRFIdentifier::md5sum, Packet::Recv_uint32(), and Packet::Recv_uint8().

Referenced by ServerNetworkUDPSocketHandler::Receive_CLIENT_GET_NEWGRFS(), ClientNetworkGameSocketHandler::Receive_SERVER_CHECK_NEWGRFS(), ClientNetworkUDPSocketHandler::Receive_SERVER_NEWGRFS(), and NetworkUDPSocketHandler::ReceiveNetworkGameInfo().

void NetworkSocketHandler::SendGRFIdentifier | ( | 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, GRFIdentifier::md5sum, Packet::Send_uint32(), and Packet::Send_uint8().

Referenced by ServerNetworkUDPSocketHandler::Receive_CLIENT_GET_NEWGRFS(), ClientNetworkUDPSocketHandler::Receive_SERVER_RESPONSE(), NetworkUDPSocketHandler::SendNetworkGameInfo(), and ServerNetworkGameSocketHandler::SendNewGRFCheck().

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

- src/network/core/core.h
- src/network/core/core.cpp