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

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# TransportInterface Class Reference

Defines an interface that is used to send and receive null-terminated strings. In practice this is only used by the CommandParser system for for servers. More...

`#include <TransportInterface.h>`

Inheritance diagram for TransportInterface:

List of all members.

## Public Member Functions
virtual bool | Start (unsigned short port, bool serverMode)=0
virtual void | Stop (void)=0
| Stop the transport provider. You can clear memory and shutdown threads here.
virtual void | Send (PlayerID playerId, const char *data,...)=0
virtual void | CloseConnection (PlayerID playerId)=0
virtual Packet * | Receive (void)=0
virtual void | DeallocatePacket (Packet *packet)=0
virtual PlayerID | HasNewConnection (void)=0
virtual PlayerID | HasLostConnection (void)=0
virtual CommandParserInterface * | GetCommandParser (void)=0

## Detailed Description

Defines an interface that is used to send and receive null-terminated strings. In practice this is only used by the CommandParser system for for servers.

## Member Function Documentation

virtual void TransportInterface::CloseConnection | ( | PlayerID | playerId | ) | `[pure virtual]`

  | Disconnect playerId . The binary address and port defines the PlayerID structure. Parameters:
  `[in]` | playerId | The player/address to disconnect
Implemented in RakNetTransport, and TelnetTransport.

virtual void TransportInterface::DeallocatePacket | ( | Packet * | packet | ) | `[pure virtual]`

  | Deallocate the Packet structure returned by Receive Parameters:
  `[in]` | The | packet to deallocate
Implemented in RakNetTransport, and TelnetTransport.

virtual CommandParserInterface* TransportInterface::GetCommandParser | ( | void |  | ) | `[pure virtual]`

| Your transport provider can itself have command parsers if the transport layer has user-modifiable features For example, your transport layer may have a password which you want remote users to be able to set or you may want to allow remote users to turn on or off command echo Returns: 0 if you do not need a command parser - otherwise the desired derivation of CommandParserInterface Implemented in RakNetTransport, and TelnetTransport.

virtual PlayerID TransportInterface::HasLostConnection | ( | void |  | ) | `[pure virtual]`

| If a system loses the connection, you should queue that event and return the playerId/address of that player in this function. Returns: The PlayerID/address of the system Implemented in RakNetTransport, and TelnetTransport.

virtual PlayerID TransportInterface::HasNewConnection | ( | void |  | ) | `[pure virtual]`

| If a new system connects to you, you should queue that event and return the playerId/address of that player in this function. Returns: The PlayerID/address of the system Implemented in RakNetTransport, and TelnetTransport.

virtual Packet* TransportInterface::Receive | ( | void |  | ) | `[pure virtual]`

| Return a string. The string should be allocated and written to Packet::data . The byte length should be written to Packet::length . The player/address should be written to Packet::playerid If your transport protocol adds special formatting to the data stream you should parse it out before returning it in the packet and thus only return a string in Packet::data Returns: The packet structure containing the result of Receive, or 0 if no data is available Implemented in RakNetTransport, and TelnetTransport.

virtual void TransportInterface::Send | ( | PlayerID | playerId,
|  | const char * | data,
|  |  | ...
| ) | `[pure virtual]`

  | Send a null-terminated string to playerId If your transport method requires particular formatting of the outgoing data (e.g. you don't just send strings) you can do it here and parse it out in Receive(). Parameters:
  `[in]` | playerId | The player to send the string to
  `[in]` | data | format specifier - same as printf
  `[in]` | ... | format specification arguments - same as printf
Implemented in RakNetTransport, and TelnetTransport.

virtual bool TransportInterface::Start | ( | unsigned short | port,
|  | bool | serverMode
| ) | `[pure virtual]`

  | Start the transport provider on the indicated port. Parameters:
  `[in]` | port | The port to start the transport provider on
  `[in]` | serverMode | If true, you should allow incoming connections (I don't actually use this anywhere)
Returns: Return true on success, false on failure. Implemented in RakNetTransport, and TelnetTransport.

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

- C:/RakNet 2.518/Include/TransportInterface.h