Torque2D Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
NetInterface Class Reference

`#include <netInterface.h>`

Inheritance diagram for NetInterface:

## Public Types
enum | PacketTypes { MasterServerGameTypesRequest = 2, MasterServerGameTypesResponse = 4, MasterServerListRequest = 6, MasterServerListResponse = 8, GameMasterInfoRequest = 10, GameMasterInfoResponse = 12, GamePingRequest = 14, GamePingResponse = 16, GameInfoRequest = 18, GameInfoResponse = 20, GameHeartbeat = 22, ConnectChallengeRequest = 26, ConnectChallengeReject = 28, ConnectChallengeResponse = 30, ConnectRequest = 32, ConnectReject = 34, ConnectAccept = 36, Disconnect = 38 }

## Public Member Functions
| NetInterface ()
bool | doesAllowConnections ()
| Returns whether or not this NetInterface allows connections from remote hosts. More...
void | setAllowsConnections (bool conn)
| Sets whether or not this NetInterface allows connections from remote hosts. More...
virtual void | processPacketReceiveEvent (PacketReceiveEvent *event)
| Dispatch function for processing all network packets through this NetInterface. More...
virtual void | handleInfoPacket (const NetAddress *address, U8 packetType, BitStream *stream)
| Handles all packets that don't fall into the category of connection handshake or game data. More...
void | processClient ()
| Checks all connections marked as client to server for packet sends. More...
void | processServer ()
| Checks all connections marked as server to client for packet sends. More...
void | startConnection (NetConnection *conn)
| Begins the connection handshaking process for a connection. More...
void | checkTimeouts ()
| Checks for timeouts on all valid and pending connections. More...
void | sendDisconnectPacket (NetConnection *conn, const char *reason)
| Send a disconnect packet on a connection, along with a reason. More...

## Protected Types
enum | NetInterfaceConstants { MaxPendingConnects = 20, ChallengeRetryCount = 4, ChallengeRetryTime = 2500, ConnectRetryCount = 4, ConnectRetryTime = 2500, TimeoutCheckInterval = 1500 }

## Protected Member Functions
void | initRandomData ()
| Initialize random data. More...
void | computeNetMD5 (const NetAddress *address, U32 connectSequence, U32 addressDigest[4])
| Calculate an MD5 sum representing a connection, and store it into addressDigest. More...
Connection management
Most of these are pretty self-explanatory.
void | addPendingConnection (NetConnection *conn)
NetConnection * | findPendingConnection (const NetAddress *address, U32 packetSequence)
void | removePendingConnection (NetConnection *conn)
void | sendConnectChallengeRequest (NetConnection *conn)
void | handleConnectChallengeRequest (const NetAddress *addr, BitStream *stream)
void | handleConnectChallengeResponse (const NetAddress *address, BitStream *stream)
void | sendConnectRequest (NetConnection *conn)
void | handleConnectRequest (const NetAddress *address, BitStream *stream)
void | sendConnectAccept (NetConnection *conn)
void | handleConnectAccept (const NetAddress *address, BitStream *stream)
void | sendConnectReject (NetConnection *conn, const char *reason)
void | handleConnectReject (const NetAddress *address, BitStream *stream)
void | handleDisconnect (const NetAddress *address, BitStream *stream)

## Protected Attributes
Vector< NetConnection * > | mPendingConnections
| List of connections that are in the startup phase. More...
U32 | mLastTimeoutCheckTime
| Last time all the active connections were checked for timeouts. More...
U32 | mRandomHashData [12]
| Data that gets hashed with connect challenge requests to prevent connection spoofing. More...
bool | mRandomDataInitialized
| Have we initialized our random number generator? More...
bool | mAllowConnections
| Is this NetInterface allowing connections at this time? More...

## Detailed Description

NetInterface class. Manages all valid and pending notify protocol connections.

See also
  NetConnection, GameConnection, NetObject, NetEvent

## Member Enumeration Documentation

enum NetInterfaceConstants
| protected

Enumerator
MaxPendingConnects | Maximum number of pending connections. If new connection requests come in before.
ChallengeRetryCount | Number of times to send connect challenge requests before giving up.
ChallengeRetryTime | Timeout interval in milliseconds before retrying connect challenge.
ConnectRetryCount | Number of times to send connect requests before giving up.
ConnectRetryTime | Timeout interval in milliseconds before retrying connect request.
TimeoutCheckInterval | Interval in milliseconds between checking for connection timeouts.

enum PacketTypes

PacketType is encoded as the first byte of each packet. If the LSB of the first byte is set (i.e. if the type number is odd), then the packet is a data protocol packet, otherwise it's an OOB packet, suitable for use in strange protocols, like game querying or connection initialization.

Enumerator
MasterServerGameTypesRequest |
MasterServerGameTypesResponse |
MasterServerListRequest |
MasterServerListResponse |
GameMasterInfoRequest |
GameMasterInfoResponse |
GamePingRequest |
GamePingResponse |
GameInfoRequest |
GameInfoResponse |
GameHeartbeat |
ConnectChallengeRequest |
ConnectChallengeReject |
ConnectChallengeResponse |
ConnectRequest |
ConnectReject |
ConnectAccept |
Disconnect |

## Constructor & Destructor Documentation

NetInterface | ( |  | ) |

## Member Function Documentation

void addPendingConnection | ( | NetConnection * | conn | ) |
| protected

void checkTimeouts | ( |  | ) |

Checks for timeouts on all valid and pending connections.

void computeNetMD5 | ( | const NetAddress * | address,
|  | U32 | connectSequence,
|  | U32 | addressDigest[4]
| ) |  |
| protected

Calculate an MD5 sum representing a connection, and store it into addressDigest.

bool doesAllowConnections | ( |  | ) |
| inline

Returns whether or not this NetInterface allows connections from remote hosts.

NetConnection * findPendingConnection | ( | const NetAddress * | address,
|  | U32 | packetSequence
| ) |  |
| protected

void handleConnectAccept | ( | const NetAddress * | address,
|  | BitStream * | stream
| ) |  |
| protected

void handleConnectChallengeRequest | ( | const NetAddress * | addr,
|  | BitStream * | stream
| ) |  |
| protected

void handleConnectChallengeResponse | ( | const NetAddress * | address,
|  | BitStream * | stream
| ) |  |
| protected

void handleConnectReject | ( | const NetAddress * | address,
|  | BitStream * | stream
| ) |  |
| protected

void handleConnectRequest | ( | const NetAddress * | address,
|  | BitStream * | stream
| ) |  |
| protected

void handleDisconnect | ( | const NetAddress * | address,
|  | BitStream * | stream
| ) |  |
| protected

void handleInfoPacket | ( | const NetAddress * | address,
|  | U8 | packetType,
|  | BitStream * | stream
| ) |  |
| virtual

Handles all packets that don't fall into the category of connection handshake or game data.

Reimplemented in DemoNetInterface.

void initRandomData | ( |  | ) |
| protected

Initialize random data.

void processClient | ( |  | ) |

Checks all connections marked as client to server for packet sends.

void processPacketReceiveEvent | ( | PacketReceiveEvent * | event | ) |
| virtual

Dispatch function for processing all network packets through this NetInterface.

void processServer | ( |  | ) |

Checks all connections marked as server to client for packet sends.

void removePendingConnection | ( | NetConnection * | conn | ) |
| protected

void sendConnectAccept | ( | NetConnection * | conn | ) |
| protected

void sendConnectChallengeRequest | ( | NetConnection * | conn | ) |
| protected

void sendConnectReject | ( | NetConnection * | conn,
|  | const char * | reason
| ) |  |
| protected

void sendConnectRequest | ( | NetConnection * | conn | ) |
| protected

void sendDisconnectPacket | ( | NetConnection * | conn,
|  | const char * | reason
| ) |  |

Send a disconnect packet on a connection, along with a reason.

void setAllowsConnections | ( | bool | conn | ) |
| inline

Sets whether or not this NetInterface allows connections from remote hosts.

void startConnection | ( | NetConnection * | conn | ) |

Begins the connection handshaking process for a connection.

## Member Data Documentation

bool mAllowConnections
| protected

Is this NetInterface allowing connections at this time?

U32 mLastTimeoutCheckTime
| protected

Last time all the active connections were checked for timeouts.

Vector<NetConnection *> mPendingConnections
| protected

List of connections that are in the startup phase.

bool mRandomDataInitialized
| protected

Have we initialized our random number generator?

U32 mRandomHashData[12]
| protected

Data that gets hashed with connect challenge requests to prevent connection spoofing.

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

- network/netInterface.h
- network/netInterface.cc