> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PartyRegionQualityMeasurementConfiguration

> Party ライブラリがリージョン品質測定動作を制御するために使用する構成です。

Party ライブラリがリージョン品質測定動作を制御するために使用する構成です。

## Syntax

```cpp theme={null}
struct PartyRegionQualityMeasurementConfiguration {  
    uint32_t totalMeasurementTimeoutInMilliseconds;  
    uint16_t highLatencyHintInMilliseconds;  
    uint16_t minRequiredSuccessfulResponses;  
    uint16_t idealNumberOfSuccessfulResponses;  
    uint16_t maxRetriesWithNoResponse;  
    uint16_t maxTimeoutsAfterResponse;  
}  
```

### Members

**`totalMeasurementTimeoutInMilliseconds`**   uint32\_t

ホスト名の解決と、ローカル デバイスと PlayFab Quality of Service ビーコン サーバー間のネットワーク状態の測定に許可される最大ミリ秒数です。

この値は、Party ライブラリが利用可能なすべてのリージョンについて PlayFab Quality of Service ビーコン サーバーのホスト名を解決し、接続品質を測定するための軽量メッセージを送信するために許可される最大時間 (ミリ秒) を制御します。環境上の問題により名前解決が遅くなったり、一部のリージョンへのレイテンシやパケット ロスが高くなったりする場合、このタイムアウト内で少なくとも 1 回正常に通信できたリージョンのみが [PartyRegionsChangedStateChange](/services/playfab/multiplayer/networking/reference/structs/partyregionschangedstatechange) の結果に報告されます。 <br /><br /> この値には、Party ライブラリが PlayFab サービスから利用可能なリージョンのリストを取得するのに要する時間は含まれず、影響もしません。   <br /><br /> アプリケーションは通常、技術的な仮定に基づいて値を導き出そうとするのではなく、ユーザー エクスペリエンスの目標や最悪のケースを基準にこのタイムアウトを定義する必要があります。特定のリージョンまたはすべてのリージョンを測定するのに必要な正確な時間は、利用可能なリージョンの数、現在のネットワーク環境の状態、観測されたレイテンシに基づいて Party ライブラリが動的に調整するタイムアウトなど、さまざまな要因によって大きく異なります。   <br /><br /> この値は、完全または部分的な失敗を経験するデバイスに対する事実上の最悪ケースのタイムアウトです。これは、典型的な成功例における実世界の観測結果と対比するのに役立つ場合があります。既定の PartyRegionQualityMeasurementConfiguration 値、リージョンの可用性、プレイヤーの利用パターンを使用した場合、Party ライブラリは、世界中のほとんどのデバイスが 2.3 秒以内に測定プロセス全体を正常に完了し、97% のデバイスが 6 秒未満で正常に完了することを現在観測しています。この所要時間は、より多くのリージョンが導入されるにつれてわずかに増加すると予想されます。   <br /><br /> [PartyOption::RegionQualityMeasurementConfiguration](/services/playfab/multiplayer/networking/reference/enums/partyoption) が構成されていない場合の既定値は 15000 (15 秒) です。   <br /><br /> ゼロの値はタイムアウトがないことを意味し、そのためすべての測定は、いずれかのリージョンが成功または失敗するまでの時間に関係なく完了することが許可されます。それ以外の場合、最小値は 50 ミリ秒です。

**`highLatencyHintInMilliseconds`**   uint16\_t

アプリケーションがリージョンを詳細な測定に追加の時間を費やすには遅延が高すぎるとみなす、最も高いレイテンシしきい値 (ミリ秒) を示すヒントです。

このターゲット値は、リージョン レイテンシのソフト上限を表します。より高いレイテンシと測定されたリージョンを含めることを直接妨げるものではありませんが、この数値より少ないレイテンシのリージョン向けに最適化されたタイムアウトとリトライ値を Party ライブラリが選択するようにします。また、応答の最小数 (*minRequiredSuccessfulResponses* フィールドに構成) が受信された後、各リージョンに対してこの値が検査されます。あるリージョンの測定中央値レイテンシがこのターゲットより大きい場合、応答の理想数 (*idealNumberOfSuccessfulResponses* フィールドに構成) は使用されず、それ以上の測定試行は送信されません。 <br /><br /> この値はゼロにできません。   <br /><br /> [PartyOption::RegionQualityMeasurementConfiguration](/services/playfab/multiplayer/networking/reference/enums/partyoption) が構成されていない場合の既定値は 200 です。

**`minRequiredSuccessfulResponses`**   uint16\_t

基本評価に必要な、各リージョンに対する測定メッセージの成功応答の最小数です。

測定対象となる各潜在的リージョンは、結果が *highLatencyHintInMilliseconds* フィールドのターゲット レイテンシに対して評価するのに十分正確であるとみなされる前に、品質測定の軽量メッセージ交換中にこの回数以上正常に応答することが期待されます。より大きな最小要件を設定すると、測定サンプルが増え、外れ値パケットの変動に対する一貫性と精度が向上しますが、完了により多くの時間がかかります。 <br /><br /> 十分な成功応答がなくても、次のいずれかが発生した場合、特定のリージョンの測定は完了とみなされます: 成功応答がまったく届かず、試行回数が *maxRetriesWithNoResponse* フィールドに構成された値を超えた場合、少なくとも 1 つの応答が届いたが試行回数が *maxTimeoutsAfterResponse* フィールドに構成された値を超えた場合、または *totalMeasurementTimeoutInMilliseconds* フィールドに構成されたすべてのリージョンの全体タイムアウトが経過した場合。   <br /><br /> この値はゼロにできません。   <br /><br /> [PartyOption::RegionQualityMeasurementConfiguration](/services/playfab/multiplayer/networking/reference/enums/partyoption) が構成されていない場合の既定値は 3 です。   <br />
**`idealNumberOfSuccessfulResponses`**   uint16\_t

徹底的な評価を達成するために各リージョンに望まれる、測定メッセージの成功応答数です。

この値は、関心のあるリージョンのレイテンシ測定で望ましい精度を達成するための、成功応答の合計優先数を表します。この値は、*minRequiredSuccessfulResponses* フィールドの最小値と同じか、それ以上でなければなりません。Party ライブラリは、あるリージョンが既に *highLatencyHintInMilliseconds* フィールドで構成されたしきい値以下の中央値レイテンシで測定されている場合にのみ、そのリージョンについて最小値とこの理想値との差分の追加応答数を取得しようとします。このフィールドの理想応答数により、より高いレイテンシのリージョンに追加の時間を費やすことなく、ローカル デバイスにとってより価値がある可能性の高いリージョンの測定精度を洗練させ続けることができます。 <br /><br /> リージョンの最小応答数が得られなかった場合、この追加の理想ターゲットは試行されません。それ以外の場合、リージョンの *maxTimeoutsAfterResponse* 制限に達したか、すべてのリージョンの全体的な *totalMeasurementTimeoutInMilliseconds* フィールドのタイムアウトが経過した場合、この理想数の成功応答を受信しなくても、リージョンの測定は完了とみなされます。   <br /><br /> [PartyOption::RegionQualityMeasurementConfiguration](/services/playfab/multiplayer/networking/reference/enums/partyoption) が構成されていない場合の既定値は 4 です。

**`maxRetriesWithNoResponse`**   uint16\_t

リージョンが到達不可能とみなされる前に、応答なしにリージョンに最初の測定メッセージを再送する追加の最大回数です。

この値は、リージョンを利用不可能とみなす前に、Party ライブラリがリージョンへの最初の品質測定軽量メッセージを再試行するときに行う、最初以降の追加試行の合計数を構成します。リージョンの Quality of Service ビーコン サーバーから少なくとも 1 回の成功応答が受信された場合、この最大値は使用されなくなり、代わりに *maxTimeoutsAfterResponse* フィールドがタイムアウトが許可される試行回数を管理します。 <br /><br /> 最大リトライ値を大きくすると、パケット ロスなどの一時的な環境問題への耐性が高まりますが、到達不可能なリージョンを放棄するのにより長い時間がかかります。すべてのリージョンの測定に許可される絶対最大時間は、別途 *totalMeasurementTimeoutInMilliseconds* フィールドの値によって上限が設定されます。   <br /><br /> [PartyOption::RegionQualityMeasurementConfiguration](/services/playfab/multiplayer/networking/reference/enums/partyoption) が構成されていない場合の既定値は 3 です。

**`maxTimeoutsAfterResponse`**   uint16\_t

以前に応答したリージョンについて、ネットワーク パスが測定を続けるには信頼性が低すぎるとみなす前に、タイムアウトが許可される測定メッセージ試行の最大数です。

リージョンの Quality of Service ビーコン サーバーから少なくとも 1 回の成功応答が受信された場合、この値は、Party ライブラリがリージョンについて *minRequiredSuccessfulResponses* と *idealNumberOfSuccessfulResponses* の測定結果を取得しようとする間に許可する、タイムアウトした試行の合計数を決定します。 <br /><br /> 最大タイムアウト値を大きくすると、パケット ロスなどの一時的な環境問題への耐性が高まりますが、そのような低品質特性のリージョンの測定を完了するのに、より長い時間がかかる可能性があります。すべてのリージョンの測定に許可される絶対最大時間は、別途 *totalMeasurementTimeoutInMilliseconds* フィールドの値によって上限が設定されます。   <br /><br /> [PartyOption::RegionQualityMeasurementConfiguration](/services/playfab/multiplayer/networking/reference/enums/partyoption) が構成されていない場合の既定値は 3 です。

## Remarks

この構造体は [PartyOption::RegionQualityMeasurementConfiguration](/services/playfab/multiplayer/networking/reference/enums/partyoption) と一緒に使用して、[PartyManager::SetOption()](/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setoption) または [PartyManager::GetOption()](/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getoption) を介して、それぞれ Party ライブラリの現在の構成を上書きまたはクエリすることができます。これは、[PartyRegionsChangedStateChange](/services/playfab/multiplayer/networking/reference/structs/partyregionschangedstatechange) 状態変更に関連するリージョン品質測定プロセスの低レベル動作を構成します。

## Requirements

**Header:** Party.h

## See also

[Party members](/services/playfab/multiplayer/networking/reference/party_members)\
[PartyOption::RegionQualityMeasurementConfiguration](/services/playfab/multiplayer/networking/reference/enums/partyoption)\
[PartyRegionsChangedStateChange](/services/playfab/multiplayer/networking/reference/structs/partyregionschangedstatechange)\
[PartyManager::SetOption](/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setoption)\
[PartyManager::GetOption](/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getoption)


## Related topics

- [PartyOption](/ja-jp/services/playfab/multiplayer/networking/reference/enums/partyoption.md)
- [PartyRegionsChangedStateChange](/ja-jp/services/playfab/multiplayer/networking/reference/structs/partyregionschangedstatechange.md)
- [Party C/C++ API の概要](/ja-jp/services/playfab/multiplayer/networking/reference/party_members.md)
- [PlayFab Party リリース ノート](/ja-jp/services/playfab/multiplayer/networking/release-notes.md)
- [PlayFab Party QoS measurements](/ja-jp/services/playfab/multiplayer/networking/concepts-regions.md)
