#include <TransportInterface.h>
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 (SystemAddress systemAddress, const char *data,...)=0 |
virtual void | CloseConnection (SystemAddress systemAddress)=0 |
virtual Packet * | Receive (void)=0 |
virtual void | DeallocatePacket (Packet *packet)=0 |
virtual SystemAddress | HasNewIncomingConnection (void)=0 |
virtual SystemAddress | HasLostConnection (void)=0 |
virtual CommandParserInterface * | GetCommandParser (void)=0 |
In practice this is only used by the CommandParser system for for servers.
virtual void RakNet::TransportInterface::CloseConnection | ( | SystemAddress | systemAddress | ) | [pure virtual] |
Disconnect systemAddress . The binary address and port defines the SystemAddress structure.
[in] | systemAddress | The player/address to disconnect |
Implemented in RakNet::RakNetTransport2, and RakNet::TelnetTransport.
virtual void RakNet::TransportInterface::DeallocatePacket | ( | Packet * | packet | ) | [pure virtual] |
Deallocate the Packet structure returned by Receive
[in] | The | packet to deallocate |
Implemented in RakNet::RakNetTransport2, and RakNet::TelnetTransport.
virtual CommandParserInterface* RakNet::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
Implemented in RakNet::RakNetTransport2, and RakNet::TelnetTransport.
virtual SystemAddress RakNet::TransportInterface::HasLostConnection | ( | void | ) | [pure virtual] |
If a system loses the connection, you should queue that event and return the systemAddress/address of that player in this function.
Implemented in RakNet::RakNetTransport2, and RakNet::TelnetTransport.
virtual SystemAddress RakNet::TransportInterface::HasNewIncomingConnection | ( | void | ) | [pure virtual] |
If a new system connects to you, you should queue that event and return the systemAddress/address of that player in this function.
Implemented in RakNet::RakNetTransport2, and RakNet::TelnetTransport.
virtual Packet* RakNet::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::systemAddress 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
Implemented in RakNet::RakNetTransport2, and RakNet::TelnetTransport.
virtual void RakNet::TransportInterface::Send | ( | SystemAddress | systemAddress, | |
const char * | data, | |||
... | ||||
) | [pure virtual] |
Send a null-terminated string to systemAddress 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().
[in] | systemAddress | The player to send the string to |
[in] | data | format specifier - same as RAKNET_DEBUG_PRINTF |
[in] | ... | format specification arguments - same as RAKNET_DEBUG_PRINTF |
Implemented in RakNet::RakNetTransport2, and RakNet::TelnetTransport.
virtual bool RakNet::TransportInterface::Start | ( | unsigned short | port, | |
bool | serverMode | |||
) | [pure virtual] |
Start the transport provider on the indicated port.
[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) |
Implemented in RakNet::RakNetTransport2, and RakNet::TelnetTransport.