#include <TransportNATUDP.h>


Public Member Functions | |
| TransportNATUDP () | |
| virtual | ~TransportNATUDP () |
| int | GetPacketsSent (const bool reset) |
| int | GetPacketsSentMerged (const bool reset) |
| int | GetPacketsSentSize (const bool reset) |
| int | GetPacketsReceived (const bool reset) |
| int | GetPacketsReceivedMerged (const bool reset) |
| int | GetPacketsReceivedSize (const bool reset) |
| int | GetPacketsLost (const bool reset) |
| void | SetBandwidthLimit (const Bandwidth enable) |
| Bandwidth | GetBandwidthLimit () |
| void | SetMaximumOutputBandwidth (const int bytesPerSecond) |
| int | GetMaximumOutputBandwidth (void) |
| void | SetMaximumInputBandwidth (const int bytesPerSecond) |
| int | GetMaximumInputBandwidth (void) |
| std::string | GetPeerURL (void) |
| bool | GetTransportClosed (void) |
| void | SetEnableLANDiscovery (const bool enable) |
| bool | GetEnableLANDiscovery (void) |
| std::string | CanAccept (void) |
| std::string | CanRoute (void) |
| std::string | ExportURL (void) |
| Transport * | Allocate (void) |
| Error | Listen (const int channel) |
| Error | Connect (const std::string address) |
| Transport * | Accept (void) |
| Error | Send (const char *data, const int len) |
| Error | SendReliable (const char *data, const int len, const unsigned int band=0) |
| Error | SendCertain (const char *data, const int len) |
| int | Recv (char *const data, const int maxlen) |
| int | GetMaxPacketSize (void) |
| std::string | HandleDiscovery (void) |
| void | HandleDiscoveryReply (const std::string reply) |
| void | BeginDiscovery (void) |
| std::string | GetNextDiscovery (void) |
| Error | GetStatus (void) |
| void | SetBaseTransport (Transport *baseTransport) |
| bool | SetNATValues (const bool isAdvertised, const int globalID, const int sessionID) |
| void | GetNATValues (bool &isAdvertised, int &globalID, int &sessionID) |
Static Public Member Functions | |
| static void | SetServer (const XPAddress &address) |
| static void | ClearServer (void) |
| Clears any server set by SetServer(). | |
Friends | |
| class | MyNATResolver |
| TransportNATUDP | ( | ) |
The ctor performs some basic initialisation
| virtual ~TransportNATUDP | ( | ) | [virtual] |
The dtor makes sure everything is tidy
| int GetPacketsSent | ( | const bool | reset | ) | [virtual] |
Gets the total number of packets that were sent.
| reset | The default parameter for this function is false. If true then the value is returned as normal but the internal total is reset to zero |
Reimplemented from Transport.
| int GetPacketsSentMerged | ( | const bool | reset | ) | [virtual] |
Gets the total number of merged packets that were sent.
| reset | The default parameter for this function is false. If true then the value is returned as normal but the internal total is reset to zero |
Reimplemented from Transport.
| int GetPacketsSentSize | ( | const bool | reset | ) | [virtual] |
Gets the total size of packets that were sent.
| reset | The default parameter for this function is false. If true then the value is returned as normal but the internal total is reset to zero |
Reimplemented from Transport.
| int GetPacketsReceived | ( | const bool | reset | ) | [virtual] |
Gets the total number of packets that were received.
| reset | The default parameter for this function is false. If true then the value is returned as normal but the internal total is reset to zero |
Reimplemented from Transport.
| int GetPacketsReceivedMerged | ( | const bool | reset | ) | [virtual] |
Gets the total number of merged packets that were received.
| reset | The default parameter for this function is false. If true then the value is returned as normal but the internal total is reset to zero |
Reimplemented from Transport.
| int GetPacketsReceivedSize | ( | const bool | reset | ) | [virtual] |
Gets the total size of packets that were received.
| reset | The default parameter for this function is false. If true then the value is returned as normal but the internal total is reset to zero |
Reimplemented from Transport.
| int GetPacketsLost | ( | const bool | reset | ) | [virtual] |
Gets the total number of packets that were lost and had to be resent.
| reset | The default parameter for this function is false. If true then the value is returned as normal but the internal total is reset to zero |
Reimplemented from Transport.
| void SetBandwidthLimit | ( | const Bandwidth | enable | ) | [virtual] |
Sets the bandwidth limit algorithm to be used for this Transport type.
| enable | The default parameter is kBandwidth_Off which disables any bandwidth limit for this Transport type. kBandwidth_Connection will turn on bandwidth calculation for each instance and connection using this Transport. For example, if there are five instances of this Transport type and kBandwidth_Connection is used with the maximum outgoing bandwidth to be 1000 bytes per second then the maximum combined bandwidth will capped to five times 1000 bytes per second, which is 5000 bytes per second. |
Reimplemented from Transport.
| Bandwidth GetBandwidthLimit | ( | ) | [virtual] |
Reads the configuration value set by SetBandwidthLimit()
Reimplemented from Transport.
| void SetMaximumOutputBandwidth | ( | const int | bytesPerSecond | ) | [virtual] |
Sets the maximum output bandwidth for emulation.
| bytesPerSecond | the bandwidth in bytes per second. The default value is 0 meaning there is no limit. |
Reimplemented from Transport.
| int GetMaximumOutputBandwidth | ( | void | ) | [virtual] |
Reads the configuration value set by SetMaximumOutputBandwidth()
Reimplemented from Transport.
| void SetMaximumInputBandwidth | ( | const int | bytesPerSecond | ) | [virtual] |
Sets the maximum input bandwidth for emulation.
| bytesPerSecond | the bandwidth in bytes per second. The default value is 0 meaning there is no limit. |
Reimplemented from Transport.
| int GetMaximumInputBandwidth | ( | void | ) | [virtual] |
Reads the configuration value set by GetMaximumInputBandwidth().
Reimplemented from Transport.
| std::string GetPeerURL | ( | void | ) | [virtual] |
If connected this gets the URL of the other transport. It is possible this function will return a null ("") string when connected if the transport provider does not support this functionality.
Reimplemented from Transport.
| bool GetTransportClosed | ( | void | ) | [virtual] |
If this returns false the transport was closed due to an error such as a timeout. If this returns true then the transport was gracefully closed without an error. The default is to return false.
Reimplemented from Transport.
| void SetEnableLANDiscovery | ( | const bool | enable | ) | [virtual] |
Enables or disables LAN discovery of this transport type.
| enable | Set this to be true to enable LAN discovery. False will disable LAN discovery. The default is true. |
Reimplemented from Transport.
| bool GetEnableLANDiscovery | ( | void | ) | [virtual] |
Reads the configuration value set by SetEnableLANDiscovery().
Reimplemented from Transport.
| std::string CanAccept | ( | void | ) | [virtual] |
| std::string CanRoute | ( | void | ) | [virtual] |
| std::string ExportURL | ( | void | ) | [virtual] |
Exports a URL that is used by this transport and can be used by other Transports to locate this transport. The format of the URL follows this convention: <TransportType><data>/
Implements Transport.
| Transport* Allocate | ( | void | ) | [virtual] |
| Error Listen | ( | const int | channel | ) | [virtual] |
Sets this Transport to listen on a certain channel. The default channel is defined as AnyGameChannel
| channel | the channel to listen on, for example DefaultGameChannel. This parameter need not be passed in, in which case AnyGameChannel is used. |
Implements Transport.
| Error Connect | ( | const std::string | address | ) | [virtual] |
Tries to connect to a specified address
| address | the address to connect to |
Implements Transport.
| Transport* Accept | ( | void | ) | [virtual] |
| Error Send | ( | const char * | data, | |
| const int | len | |||
| ) | [virtual] |
Tries to send data to the currently connected Transport via the "unreliable" method without using any form of packet loss correction.
This method of sending packets is very cheap since there is no packet loss correction. Before attempting to send any data using this transport instance wait for GetStatus() to return kTransport_EOK.
| data | the data to send | |
| len | the length of the data to send |
Implements Transport.
| Error SendReliable | ( | const char * | data, | |
| const int | len, | |||
| const unsigned int | band = 0 | |||
| ) | [virtual] |
Tries to send data to the currently connected Transport via the "reliable" method that guarantees packets are received in the same order they are sent.
This method of sending packets is the most expensive in terms of CPU time and memory buffers Before attempting to send any data using this transport instance wait for GetStatus() to return kTransport_EOK.
| data | the data to send | |
| len | the length of the data to send | |
| band | This optional parameter allows the user to send reliable packets and ensure they are in original order grouped by band. This parameter is optional for a Transport to support and if supported the Transport may only support a limited number of bands. |
Implements Transport.
| Error SendCertain | ( | const char * | data, | |
| const int | len | |||
| ) | [virtual] |
Tries to send data to the currently connected Transport via the "certain" method that guarantees delivery of packets but does not gaurantee the packet receive order is maintained.
This method is less expensive than the "reliable" method because send and receive order is not preserved. Before attempting to send any data using this transport instance wait for GetStatus() to return kTransport_EOK.
| data | the data to send | |
| len | the length of the data to send |
Implements Transport.
| int Recv | ( | char *const | data, | |
| const int | maxlen | |||
| ) | [virtual] |
| int GetMaxPacketSize | ( | void | ) | [virtual] |
| std::string HandleDiscovery | ( | void | ) | [virtual] |
If a discovery is pending this will return the URL of the source machine that made a discovery request
Implements Transport.
| void HandleDiscoveryReply | ( | const std::string | reply | ) | [virtual] |
This function handles the reply URL that is passed back to the previous calling machine of HandleDiscovery()
| reply | the reply string to send |
Implements Transport.
| void BeginDiscovery | ( | void | ) | [virtual] |
This starts the discovery cycle to try to find other transports
Implements Transport.
| std::string GetNextDiscovery | ( | void | ) | [virtual] |
This is the function that can be used to discover other similar transports that can be connected to.
Implements Transport.
| Error GetStatus | ( | void | ) | [virtual] |
| bool SetNATValues | ( | const bool | isAdvertised, | |
| const int | globalID, | |||
| const int | sessionID | |||
| ) |
| static void SetServer | ( | const XPAddress & | address | ) | [static] |
This sets the NATResolver server address for any NATUDP transports. This must be called before any NATUDP transports have been registered by RNLobby::RegisterDefaultTransports(). The default is to have no server set and therefore the default server is configured by the internal lobby state from any successful Backend verification. PlatformHeap::ForceFree() will also clear any server that has been set.
1.5.3