Syntaxe
Membres
totalMeasurementTimeoutInMilliseconds uint32_t
Le nombre maximal de millisecondes accordé pour résoudre les noms d’hôte et tenter de mesurer les conditions réseau entre l’appareil local et les serveurs de balise de qualité de service PlayFab.
Cette valeur contrôle la durée maximale autorisée, en millisecondes, pour que la bibliothèque Party résolve les noms d’hôte des serveurs de balise de qualité de service PlayFab pour toutes les régions disponibles et leur envoie des messages légers afin de mesurer la qualité de connexion. Si des problèmes environnementaux entraînent une résolution de noms lente ou une latence élevée/une perte de paquets vers certaines régions, seules les régions contactées avec succès au moins une fois dans ce délai sont signalées dans le résultat PartyRegionsChangedStateChange. Cette valeur n’inclut pas et n’affecte pas le temps nécessaire à la bibliothèque Party pour récupérer la liste des régions disponibles auprès du service PlayFab.
Les applications doivent généralement définir ce délai d’expiration en fonction des objectifs d’expérience utilisateur et des pires cas, plutôt que d’essayer de déduire un nombre à partir d’hypothèses techniques. La durée exacte nécessaire pour mesurer une région donnée ou toutes les régions peut varier considérablement selon des facteurs tels que le nombre de régions disponibles, les conditions actuelles de l’environnement réseau, les délais d’expiration ajustés dynamiquement par la bibliothèque Party en fonction de la latence observée, etc.
Cette valeur constitue en pratique un délai d’expiration dans le pire des cas pour les appareils qui subissent des échecs complets ou partiels. Il peut être utile de la comparer aux observations réelles des réussites typiques. Avec les valeurs par défaut de PartyRegionQualityMeasurementConfiguration, la disponibilité des régions et les modes d’utilisation des joueurs, la bibliothèque Party observe actuellement que la plupart des appareils dans le monde terminent l’ensemble du processus de mesure avec succès en 2,3 secondes ou moins, et que 97 % des appareils le terminent avec succès en moins de 6 secondes. Cette durée devrait augmenter légèrement au fil du temps à mesure que de nouvelles régions sont introduites.
La valeur par défaut est 15000 (15 secondes) lorsque PartyOption::RegionQualityMeasurementConfiguration n’a pas été configuré.
Une valeur de zéro signifie qu’il n’y a pas de délai d’expiration; toutes les mesures peuvent donc se terminer, quel que soit le temps nécessaire aux régions pour réussir ou échouer. Sinon, la valeur minimale est de 50 millisecondes.
highLatencyHintInMilliseconds uint16_t
Indication du seuil de latence le plus élevé, en millisecondes, au-delà duquel l’application considère qu’une région est trop latente pour consacrer du temps supplémentaire à une mesure détaillée.
Cette valeur cible représente une limite supérieure souple pour la latence des régions. Elle n’empêche pas directement d’inclure des régions dont la latence mesurée est plus élevée, mais elle amène la bibliothèque Party à choisir des valeurs de délai d’expiration et de nouvelle tentative optimisées pour les régions dont la latence est inférieure à ce nombre. Elle est également examinée pour chaque région une fois le nombre minimal de réponses (configuré dans le champ minRequiredSuccessfulResponses) reçu. Si la latence médiane mesurée pour une région est supérieure à cette cible, le nombre idéal de réponses (configuré dans le champ idealNumberOfSuccessfulResponses) n’est pas utilisé et aucune autre tentative de mesure n’est envoyée. Cette valeur ne peut pas être zéro.
La valeur par défaut est 200 lorsque PartyOption::RegionQualityMeasurementConfiguration n’a pas été configuré.
minRequiredSuccessfulResponses uint16_t
Le nombre minimal de réponses réussies aux messages de mesure nécessaires pour chaque région pour une évaluation de base.
Chaque région potentielle à mesurer doit répondre avec succès au moins ce nombre de fois au cours de l’échange de messages légers de mesure de la qualité avant que les résultats soient considérés comme suffisamment précis pour être évalués par rapport à la latence cible du champ highLatencyHintInMilliseconds. La définition d’exigences minimales plus élevées produit davantage d’échantillons de mesure, et donc plus de cohérence et de précision face aux fluctuations de paquets aberrantes, au prix d’un temps d’exécution plus long. Même sans réponses réussies suffisantes, la mesure d’une région particulière est considérée comme terminée si l’un des événements suivants se produit : aucune réponse réussie n’arrive et le nombre de tentatives dépasse la valeur configurée dans le champ maxRetriesWithNoResponse; au moins une réponse est arrivée et le nombre de tentatives dépasse la valeur configurée dans le champ maxTimeoutsAfterResponse; ou le délai d’expiration global pour toutes les régions, configuré dans le champ totalMeasurementTimeoutInMilliseconds, s’est écoulé.
Cette valeur ne peut pas être zéro.
La valeur par défaut est 3 lorsque PartyOption::RegionQualityMeasurementConfiguration n’a pas été configuré.
idealNumberOfSuccessfulResponses uint16_t
Le nombre de réponses réussies aux messages de mesure souhaité pour chaque région afin d’obtenir une évaluation approfondie.
Cette valeur représente le nombre total préféré de réponses réussies pour atteindre la précision souhaitée des mesures de latence des régions intéressantes. Cette valeur doit être égale ou supérieure à la valeur minimale du champ minRequiredSuccessfulResponses. La bibliothèque Party ne tente d’obtenir la différence de réponses supplémentaires entre le minimum et cette valeur idéale pour une région que si la latence médiane mesurée pour cette région est déjà inférieure ou égale au seuil configuré dans le champ highLatencyHintInMilliseconds. Le nombre idéal de réponses de ce champ permet de continuer à affiner la précision des mesures pour les régions susceptibles d’être plus intéressantes pour l’appareil local, sans consacrer ce temps supplémentaire aux régions à latence plus élevée. Si le nombre minimal de réponses pour une région n’a pas été obtenu, cette cible idéale supplémentaire n’est pas tentée. Sinon, si la limite maxTimeoutsAfterResponse de la région est atteinte ou si le délai d’expiration global totalMeasurementTimeoutInMilliseconds pour toutes les régions s’écoule, la mesure de la région est considérée comme terminée, même sans avoir reçu ce nombre idéal de réponses réussies.
La valeur par défaut est 4 lorsque PartyOption::RegionQualityMeasurementConfiguration n’a pas été configuré.
maxRetriesWithNoResponse uint16_t
Le nombre maximal de renvois supplémentaires d’un message de mesure initial à une région sans aucune réponse avant de considérer la région comme inaccessible.
Cette valeur configure le nombre total de tentatives supplémentaires, au-delà de la première, que la bibliothèque Party effectue en retournant le premier message léger de mesure de la qualité à une région avant de considérer cette région comme indisponible. Si au moins une réponse réussie est reçue du serveur de balise de qualité de service de la région, ce maximum n’est plus utilisé; c’est alors le champ maxTimeoutsAfterResponse qui régit le nombre de tentatives autorisées à expirer. Des valeurs maximales de nouvelles tentatives plus élevées tolèrent mieux les problèmes environnementaux temporaires tels que la perte de paquets, au prix d’un délai plus long avant l’abandon des régions inaccessibles. La durée maximale absolue autorisée pour la mesure de toutes les régions est plafonnée par la valeur distincte du champ totalMeasurementTimeoutInMilliseconds.
La valeur par défaut est 3 lorsque PartyOption::RegionQualityMeasurementConfiguration n’a pas été configuré.
maxTimeoutsAfterResponse uint16_t
Le nombre maximal de tentatives de message de mesure autorisées à expirer pour une région qui a déjà répondu avant de considérer le chemin réseau comme trop peu fiable pour poursuivre la mesure.
Si au moins une réponse réussie a été reçue du serveur de balise de qualité de service d’une région, cette valeur détermine le nombre total de tentatives expirées que la bibliothèque Party autorise en essayant d’obtenir minRequiredSuccessfulResponses et idealNumberOfSuccessfulResponses résultats de mesure pour la région. Des valeurs maximales de délai d’expiration plus élevées tolèrent mieux les problèmes environnementaux temporaires tels que la perte de paquets, au prix d’un délai potentiellement plus long pour terminer la mesure des régions présentant ces caractéristiques de mauvaise qualité. La durée maximale absolue autorisée pour la mesure de toutes les régions est plafonnée par la valeur distincte du champ totalMeasurementTimeoutInMilliseconds.
La valeur par défaut est 3 lorsque PartyOption::RegionQualityMeasurementConfiguration n’a pas été configuré.
Remarques
Cette structure peut être utilisée avec PartyOption::RegionQualityMeasurementConfiguration pour remplacer ou interroger la configuration actuelle de la bibliothèque Party au moyen de PartyManager::SetOption() ou PartyManager::GetOption(), respectivement. Elle configure le comportement de bas niveau du processus de mesure de la qualité des régions associé aux changements d’état PartyRegionsChangedStateChange.Configuration requise
En-tête : Party.hVoir aussi
Membres de PartyPartyOption::RegionQualityMeasurementConfiguration
PartyRegionsChangedStateChange
PartyManager::SetOption
PartyManager::GetOption
