# RakNet::UDPProxyClientResultHandler Struct Reference
[UDPProxy]

`#include <UDPProxyClient.h>`

List of all members.

## Public Member Functions
virtual void | OnForwardingSuccess (const char *proxyIPAddress, unsigned short proxyPort, SystemAddress proxyCoordinator, SystemAddress sourceAddress, SystemAddress targetAddress, RakNet::UDPProxyClient *proxyClientPlugin)=0
virtual void | OnForwardingNotification (const char *proxyIPAddress, unsigned short proxyPort, SystemAddress proxyCoordinator, SystemAddress sourceAddress, SystemAddress targetAddress, RakNet::UDPProxyClient *proxyClientPlugin)=0
virtual void | OnNoServersOnline (SystemAddress proxyCoordinator, SystemAddress sourceAddress, SystemAddress targetAddress, RakNet::UDPProxyClient *proxyClientPlugin)=0
virtual void | OnRecipientNotConnected (SystemAddress proxyCoordinator, SystemAddress sourceAddress, SystemAddress targetAddress, RakNetGUID targetGuid, RakNet::UDPProxyClient *proxyClientPlugin)=0
virtual void | OnAllServersBusy (SystemAddress proxyCoordinator, SystemAddress sourceAddress, SystemAddress targetAddress, RakNet::UDPProxyClient *proxyClientPlugin)=0
virtual void | OnForwardingInProgress (SystemAddress proxyCoordinator, SystemAddress sourceAddress, SystemAddress targetAddress, RakNet::UDPProxyClient *proxyClientPlugin)=0

## Detailed Description

Callback to handle results of calling UDPProxyClient::RequestForwarding()

## Member Function Documentation

virtual void RakNet::UDPProxyClientResultHandler::OnAllServersBusy | ( | SystemAddress | proxyCoordinator,
|  | SystemAddress | sourceAddress,
|  | SystemAddress | targetAddress,
|  | RakNet::UDPProxyClient * | proxyClientPlugin |
| ) |  |  | `[pure virtual]`

Called when our forwarding request failed, because all UDPProxyServers that are connected to UDPProxyCoordinator are at their capacity Either add more servers, or increase capacity via UDPForwarder::SetMaxForwardEntries()

Parameters:

  `[out]` | proxyCoordinator | proxyCoordinator parameter originally passed to UDPProxyClient::RequestForwarding
  `[out]` | sourceAddress | sourceAddress parameter passed to UDPProxyClient::RequestForwarding. If it was UNASSIGNED_SYSTEM_ADDRESS, it is now our external IP address.
  `[out]` | targetAddress | targetAddress parameter originally passed to UDPProxyClient::RequestForwarding
  `[out]` | proxyClient | The plugin that is calling this callback

virtual void RakNet::UDPProxyClientResultHandler::OnForwardingInProgress | ( | SystemAddress | proxyCoordinator,
|  | SystemAddress | sourceAddress,
|  | SystemAddress | targetAddress,
|  | RakNet::UDPProxyClient * | proxyClientPlugin |
| ) |  |  | `[pure virtual]`

Called when our forwarding request is already in progress on the proxyCoordinator. This can be ignored, but indicates an unneeded second request

Parameters:

  `[out]` | proxyCoordinator | proxyCoordinator parameter originally passed to UDPProxyClient::RequestForwarding
  `[out]` | sourceAddress | sourceAddress parameter passed to UDPProxyClient::RequestForwarding. If it was UNASSIGNED_SYSTEM_ADDRESS, it is now our external IP address.
  `[out]` | targetAddress | targetAddress parameter originally passed to UDPProxyClient::RequestForwarding
  `[out]` | proxyClient | The plugin that is calling this callback

virtual void RakNet::UDPProxyClientResultHandler::OnForwardingNotification | ( | const char * | proxyIPAddress,
|  | unsigned short | proxyPort,
|  | SystemAddress | proxyCoordinator,
|  | SystemAddress | sourceAddress,
|  | SystemAddress | targetAddress,
|  | RakNet::UDPProxyClient * | proxyClientPlugin |
| ) |  |  | `[pure virtual]`

Called when another system has setup forwarding, with our system as the target address. Plugin automatically sends a datagram to proxyIPAddress before this callback, to open our router if necessary.

Parameters:

  `[out]` | proxyIPAddress | IP Address of the proxy server, which will forward messages to targetAddress
  `[out]` | proxyPort | Remote port to use on the proxy server, which will forward messages to targetAddress
  `[out]` | proxyCoordinator | proxyCoordinator parameter originally passed to UDPProxyClient::RequestForwarding
  `[out]` | sourceAddress | sourceAddress parameter passed to UDPProxyClient::RequestForwarding. This is originating source IP address of the remote system that will be sending to us.
  `[out]` | targetAddress | targetAddress parameter originally passed to UDPProxyClient::RequestForwarding. This is our external IP address.
  `[out]` | proxyClient | The plugin that is calling this callback

virtual void RakNet::UDPProxyClientResultHandler::OnForwardingSuccess | ( | const char * | proxyIPAddress,
|  | unsigned short | proxyPort,
|  | SystemAddress | proxyCoordinator,
|  | SystemAddress | sourceAddress,
|  | SystemAddress | targetAddress,
|  | RakNet::UDPProxyClient * | proxyClientPlugin |
| ) |  |  | `[pure virtual]`

Called when our forwarding request was completed. We can now connect to targetAddress by using proxyAddress instead

Parameters:

  `[out]` | proxyIPAddress | IP Address of the proxy server, which will forward messages to targetAddress
  `[out]` | proxyPort | Remote port to use on the proxy server, which will forward messages to targetAddress
  `[out]` | proxyCoordinator | proxyCoordinator parameter originally passed to UDPProxyClient::RequestForwarding
  `[out]` | sourceAddress | sourceAddress parameter passed to UDPProxyClient::RequestForwarding. If it was UNASSIGNED_SYSTEM_ADDRESS, it is now our external IP address.
  `[out]` | targetAddress | targetAddress parameter originally passed to UDPProxyClient::RequestForwarding
  `[out]` | proxyClient | The plugin that is calling this callback

virtual void RakNet::UDPProxyClientResultHandler::OnNoServersOnline | ( | SystemAddress | proxyCoordinator,
|  | SystemAddress | sourceAddress,
|  | SystemAddress | targetAddress,
|  | RakNet::UDPProxyClient * | proxyClientPlugin |
| ) |  |  | `[pure virtual]`

Called when our forwarding request failed, because no UDPProxyServers are connected to UDPProxyCoordinator

Parameters:

  `[out]` | proxyCoordinator | proxyCoordinator parameter originally passed to UDPProxyClient::RequestForwarding
  `[out]` | sourceAddress | sourceAddress parameter passed to UDPProxyClient::RequestForwarding. If it was UNASSIGNED_SYSTEM_ADDRESS, it is now our external IP address.
  `[out]` | targetAddress | targetAddress parameter originally passed to UDPProxyClient::RequestForwarding
  `[out]` | proxyClient | The plugin that is calling this callback

virtual void RakNet::UDPProxyClientResultHandler::OnRecipientNotConnected | ( | SystemAddress | proxyCoordinator,
|  | SystemAddress | sourceAddress,
|  | SystemAddress | targetAddress,
|  | RakNetGUID | targetGuid,
|  | RakNet::UDPProxyClient * | proxyClientPlugin |
| ) |  |  | `[pure virtual]`

Called when our forwarding request failed, because no UDPProxyServers are connected to UDPProxyCoordinator

Parameters:

  `[out]` | proxyCoordinator | proxyCoordinator parameter originally passed to UDPProxyClient::RequestForwarding
  `[out]` | sourceAddress | sourceAddress parameter passed to UDPProxyClient::RequestForwarding. If it was UNASSIGNED_SYSTEM_ADDRESS, it is now our external IP address.
  `[out]` | targetAddress | targetAddress parameter originally passed to UDPProxyClient::RequestForwarding
  `[out]` | targetGuid | targetGuid parameter originally passed to UDPProxyClient::RequestForwarding
  `[out]` | proxyClient | The plugin that is calling this callback

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

- d:/RakNet-3.x/Source/UDPProxyClient.h