Photon Unity Networking 2  v2.1
English | 日本語 | 한국
Public Member Functions | Properties | List of all members
RegionHandler Class Reference

Provides methods to work with Photon's regions (Photon Cloud) and can be use to find the one with best ping. More...

Public Member Functions

void SetRegions (OperationResponse opGetRegions)
 
bool PingMinimumOfRegions (Action< RegionHandler > onCompleteCallback, string previousSummary)
 

Properties

List< RegionEnabledRegions [get, set]
 A list of region names for the Photon Cloud. Set by the result of OpGetRegions(). More...
 
Region BestRegion [get]
 When PingMinimumOfRegions was called and completed, the BestRegion is identified by best ping. More...
 
string SummaryToCache [get]
 This value summarizes the results of pinging the currently available EnabledRegions (after PingMinimumOfRegions finished). More...
 
bool IsPinging [get]
 

Detailed Description

Provides methods to work with Photon's regions (Photon Cloud) and can be use to find the one with best ping.

When a client uses a Name Server to fetch the list of available regions, the LoadBalancingClient will create a RegionHandler and provide it via the OnRegionListReceived callback.

Your logic can decide to either connect to one of those regional servers, or it may use PingMinimumOfRegions to test which region provides the best ping.

It makes sense to make clients "sticky" to a region when one gets selected. This can be achieved by storing the SummaryToCache value, once pinging was done. When the client connects again, the previous SummaryToCache helps limiting the number of regions to ping. In best case, only the previously selected region gets re-pinged and if the current ping is not much worse, this one region is used again.

Property Documentation

Region BestRegion
get

When PingMinimumOfRegions was called and completed, the BestRegion is identified by best ping.

List<Region> EnabledRegions
getset

A list of region names for the Photon Cloud. Set by the result of OpGetRegions().

Implement ILoadBalancingCallbacks and register for the callbacks to get OnRegionListReceived(RegionHandler regionHandler). You can also put a "case OperationCode.GetRegions:" into your OnOperationResponse method to notice when the result is available.

string SummaryToCache
get

This value summarizes the results of pinging the currently available EnabledRegions (after PingMinimumOfRegions finished).