PartyRegionsChangedStateChange

Information specific to the RegionsChanged type of state change.

Syntax

struct PartyRegionsChangedStateChange : PartyStateChange {  
    PartyStateChangeResult result;  
    PartyError errorDetail;  
}  

Members

result   PartyStateChangeResult

Indicates whether a background operation to query the list of supported regions and the latency to each region succeeded, or provides the reason that it failed.

When the result is PartyStateChangeResult::Succeeded, the region list provided by PartyManager::GetRegions() is populated with the results of the operation. On failure, the region list provided by PartyManager::GetRegions() is empty.

If the result is PartyStateChangeResult::FailedToBindToLocalUdpSocket, the library couldn't bind to the local UDP socket specified in the PartyOption::LocalUdpSocketBindAddress option. The title must clean up its instance of the library, update the PartyOption::LocalUdpSocketBindAddress option to a valid, available bind address, and reinitialize the library.

errorDetail   PartyError

A diagnostic value providing more troubleshooting information regarding any potential error condition.

The human-readable form of this error detail can be retrieved via PartyManager::GetErrorMessage().

Remarks

Retrieving the list of available regions and measuring connection quality to them occurs automatically in the background. This operation is first initiated when PartyManager::Initialize() is called unless the PartyOption::RegionUpdateConfiguration option was used to configure an update mode of PartyRegionUpdateMode::Deferred, in which case region updates may not happen at all. Deferred region updates only occur if the application calls PartyManager::CreateNewNetwork() with a zero entry region array, or isn't connected to an existing network but calls PartyLocalChatControl::PopulateAvailableTextToSpeechProfiles(), PartyLocalChatControl::SetTextToSpeechProfile(), or PartyLocalChatControl::SetTranscriptionOptions() with option flags that include PartyVoiceChatTranscriptionOptions::TranscribeSelfRegardlessOfNetworkState. The PartyOption::RegionUpdateConfiguration option can also be used to configure the interval after which the regions are refreshed.

The amount of time it takes to retrieve the list of available regions and measure connection quality to them is dependent on many environmental or dynamic factors, and whether the PartyOption::RegionQualityMeasurementConfiguration option was used to modify low-level measurement settings. The totalMeasurementTimeoutInMilliseconds field in the PartyRegionQualityMeasurementConfiguration structure is used to configure the worst case maximum timeout before considering all measurements complete and generating this state change.

Requirements

Header: Party.h

See also

Party members
PartyManager::GetRegions