Shadowrun: Awakened 29 September 2011 - Build 871
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
RakNet::UDPProxyCoordinator Class Reference

Middleman between UDPProxyServer and UDPProxyClient, maintaining a list of UDPProxyServer, and managing state for clients to find an available forwarding server. More...

#include <UDPProxyCoordinator.h>

Inheritance diagram for RakNet::UDPProxyCoordinator:

List of all members.

Classes

struct  ForwardingRequest
struct  SenderAndTargetAddress
struct  ServerWithPing

Public Member Functions

virtual void OnClosedConnection (const SystemAddress &systemAddress, RakNetGUID rakNetGUID, PI2_LostConnectionReason lostConnectionReason)
virtual PluginReceiveResult OnReceive (Packet *packet)
void SetRemoteLoginPassword (RakNet::RakString password)
 UDPProxyCoordinator ()
virtual void Update (void)
 Update is called every time a packet is checked for .
virtual ~UDPProxyCoordinator ()

Static Public Member Functions

static void DestroyInstance (UDPProxyCoordinator *i)
static UDPProxyCoordinatorGetInstance (void)

Protected Member Functions

void Clear (void)
void OnForwardingReplyFromServerToCoordinator (Packet *packet)
void OnForwardingRequestFromClientToCoordinator (Packet *packet)
void OnLoginRequestFromServerToCoordinator (Packet *packet)
void OnPingServersReplyFromClientToCoordinator (Packet *packet)
void SendAllBusy (SystemAddress senderClientAddress, SystemAddress targetClientAddress, SystemAddress requestingAddress)
void SendForwardingRequest (SystemAddress sourceAddress, SystemAddress targetAddress, SystemAddress serverAddress, RakNet::TimeMS timeoutOnNoDataMS)
void TryNextServer (SenderAndTargetAddress sata, ForwardingRequest *fw)

Protected Attributes

DataStructures::Multilist
< ML_ORDERED_LIST,
ForwardingRequest
*, SenderAndTargetAddress
forwardingRequestList
RakNet::RakString remoteLoginPassword
DataStructures::Multilist
< ML_UNORDERED_LIST,
SystemAddress
serverList

Detailed Description

When NAT Punchthrough fails, it is possible to use a non-NAT system to forward messages from us to the recipient, and vice-versa The class to forward messages is UDPForwarder, and it is triggered over the network via the UDPProxyServer plugin. The UDPProxyClient connects to UDPProxyCoordinator to get a list of servers running UDPProxyServer, and the coordinator will relay our forwarding request

Definition at line 34 of file UDPProxyCoordinator.h.


Constructor & Destructor Documentation

RakNet::UDPProxyCoordinator::UDPProxyCoordinator ( )
virtual RakNet::UDPProxyCoordinator::~UDPProxyCoordinator ( ) [virtual]

Member Function Documentation

void RakNet::UDPProxyCoordinator::Clear ( void  ) [protected]
static void RakNet::UDPProxyCoordinator::DestroyInstance ( UDPProxyCoordinator i) [static]
static UDPProxyCoordinator* RakNet::UDPProxyCoordinator::GetInstance ( void  ) [static]
virtual void RakNet::UDPProxyCoordinator::OnClosedConnection ( const SystemAddress systemAddress,
RakNetGUID  rakNetGUID,
PI2_LostConnectionReason  lostConnectionReason 
) [virtual]

Called when a connection is dropped because the user called RakPeer::CloseConnection() for a particular system

Parameters:
[in]systemAddressThe system whose connection was closed
[in]rakNetGuidThe guid of the specified system
[in]lostConnectionReasonHow the connection was closed: manually, connection lost, or notification of disconnection

Reimplemented from RakNet::PluginInterface2.

void RakNet::UDPProxyCoordinator::OnForwardingReplyFromServerToCoordinator ( Packet packet) [protected]
void RakNet::UDPProxyCoordinator::OnForwardingRequestFromClientToCoordinator ( Packet packet) [protected]
void RakNet::UDPProxyCoordinator::OnLoginRequestFromServerToCoordinator ( Packet packet) [protected]
void RakNet::UDPProxyCoordinator::OnPingServersReplyFromClientToCoordinator ( Packet packet) [protected]
virtual PluginReceiveResult RakNet::UDPProxyCoordinator::OnReceive ( Packet packet) [virtual]

OnReceive is called for every packet.

Parameters:
[in]packetthe packet that is being returned to the user
Returns:
True to allow the game and other plugins to get this message, false to absorb it

Reimplemented from RakNet::PluginInterface2.

void RakNet::UDPProxyCoordinator::SendAllBusy ( SystemAddress  senderClientAddress,
SystemAddress  targetClientAddress,
SystemAddress  requestingAddress 
) [protected]
void RakNet::UDPProxyCoordinator::SendForwardingRequest ( SystemAddress  sourceAddress,
SystemAddress  targetAddress,
SystemAddress  serverAddress,
RakNet::TimeMS  timeoutOnNoDataMS 
) [protected]
void RakNet::UDPProxyCoordinator::SetRemoteLoginPassword ( RakNet::RakString  password)

For UDPProxyServers logging in remotely, they must pass a password to UDPProxyServer::LoginToCoordinator(). It must match the password set here. If no password is set, they cannot login remotely. By default, no password is set

void RakNet::UDPProxyCoordinator::TryNextServer ( SenderAndTargetAddress  sata,
ForwardingRequest fw 
) [protected]
virtual void RakNet::UDPProxyCoordinator::Update ( void  ) [virtual]

Reimplemented from RakNet::PluginInterface2.


Member Data Documentation

Definition at line 97 of file UDPProxyCoordinator.h.

Definition at line 99 of file UDPProxyCoordinator.h.

Definition at line 94 of file UDPProxyCoordinator.h.


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

Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.

GNU Lesser General Public License 3 Sourceforge.net