Sintaxe
Membros
totalMeasurementTimeoutInMilliseconds uint32_t
O número máximo de milissegundos permitido para resolver nomes de host e tentar medir as condições de rede entre o dispositivo local e os servidores de beacon de Qualidade de Serviço do PlayFab.
Esse valor controla o tempo máximo permitido, em milissegundos, para que a biblioteca do Party resolva os nomes de host dos servidores de beacon de Qualidade de Serviço do PlayFab para todas as regiões disponíveis e envie mensagens leves para medir a qualidade da conexão com eles. Se problemas de ambiente causarem lentidão na resolução de nomes ou alta latência/perda de pacotes para algumas regiões, somente as regiões contatadas com êxito pelo menos uma vez dentro desse tempo limite serão relatadas no resultado de PartyRegionsChangedStateChange. Esse valor não inclui nem afeta o tempo que a biblioteca do Party leva para recuperar a lista de regiões disponíveis do serviço PlayFab.
Normalmente, os aplicativos devem definir esse tempo limite em termos de metas/piores casos de experiência do usuário, em vez de tentar derivar algum número com base em suposições técnicas. O tempo exato necessário para medir uma determinada região ou todas as regiões pode variar muito dependendo de fatores como o número de regiões disponíveis, as condições atuais do ambiente de rede, os tempos limite ajustados dinamicamente pela biblioteca do Party com base na latência observada e muito mais.
Esse valor é, na prática, um tempo limite de pior caso para dispositivos que sofrem falhas completas ou parciais. Isso pode ser útil para contrastar com observações reais de sucessos típicos. Usando os valores padrão de PartyRegionQualityMeasurementConfiguration, a disponibilidade de regiões e os padrões de uso dos jogadores, a biblioteca do Party observa atualmente que a maioria dos dispositivos no mundo todo conclui todo o processo de medição com êxito em 2,3 segundos ou menos, e 97% dos dispositivos concluem com êxito em menos de 6 segundos. Espera-se que essa duração aumente ligeiramente ao longo do tempo, à medida que mais regiões forem introduzidas.
O valor padrão é 15000 (15 segundos) quando PartyOption::RegionQualityMeasurementConfiguration não foi configurada.
Um valor zero significa que não há tempo limite e, portanto, todas as medições podem ser concluídas independentemente de quanto tempo qualquer região leve para ter êxito ou falhar. Caso contrário, o valor mínimo é 50 milissegundos.
highLatencyHintInMilliseconds uint16_t
Uma dica que indica o limite de latência mais alto, em milissegundos, acima do qual o aplicativo considera uma região latente demais para gastar tempo adicional realizando uma medição detalhada.
Esse valor de destino representa um limite superior flexível para a latência da região. Ele não impede diretamente a inclusão de regiões medidas com latência mais alta, mas faz com que a biblioteca do Party escolha valores de tempo limite e de repetição otimizados para regiões com latência menor que esse número. Ele também é verificado para cada região depois que o número mínimo de respostas (configurado no campo minRequiredSuccessfulResponses) é recebido. Se a latência mediana medida de uma região for maior que esse destino, o número ideal de respostas (configurado no campo idealNumberOfSuccessfulResponses) não será usado e nenhuma outra tentativa de medição será enviada. Esse valor não pode ser zero.
O valor padrão é 200 quando PartyOption::RegionQualityMeasurementConfiguration não foi configurada.
minRequiredSuccessfulResponses uint16_t
O número mínimo de respostas bem-sucedidas a mensagens de medição necessárias para cada região para uma avaliação básica.
Espera-se que cada região potencial a ser medida responda com êxito pelo menos esse número de vezes durante a troca de mensagens leves de medição de qualidade antes que os resultados sejam considerados precisos o suficiente para avaliação em relação à latência de destino do campo highLatencyHintInMilliseconds. Definir requisitos mínimos maiores resulta em mais amostras de medição e, portanto, em mais consistência e precisão diante de flutuações atípicas de pacotes, à custa de levar mais tempo para concluir. Mesmo sem respostas bem-sucedidas suficientes, a medição de uma região específica é considerada concluída se ocorrer qualquer um dos seguintes casos: nenhuma resposta bem-sucedida chega e o número de tentativas excede o valor configurado no campo maxRetriesWithNoResponse; pelo menos uma resposta chegou e o número de tentativas excede o valor configurado no campo maxTimeoutsAfterResponse; ou o tempo limite geral para todas as regiões, configurado no campo totalMeasurementTimeoutInMilliseconds, se esgota.
Esse valor não pode ser zero.
O valor padrão é 3 quando PartyOption::RegionQualityMeasurementConfiguration não foi configurada.
idealNumberOfSuccessfulResponses uint16_t
O número de respostas bem-sucedidas a mensagens de medição desejado para cada região a fim de obter uma avaliação completa.
Esse valor representa o número total preferencial de respostas bem-sucedidas para obter a precisão desejada nas medições de latência das regiões de interesse. Esse valor deve ser igual ou maior que o valor mínimo do campo minRequiredSuccessfulResponses. A biblioteca do Party só tenta obter a diferença adicional de respostas entre o mínimo e esse valor ideal para uma região se essa região já tiver sido medida com latência mediana menor ou igual ao limite configurado no campo highLatencyHintInMilliseconds. O número ideal de respostas deste campo permite continuar refinando a precisão da medição para regiões que provavelmente terão mais valor para o dispositivo local, sem gastar também esse tempo adicional com as regiões de latência mais alta. Se o número mínimo de respostas de uma região não tiver sido obtido, esse destino ideal adicional não será tentado. Caso contrário, se o limite maxTimeoutsAfterResponse da região for atingido ou o tempo limite geral do campo totalMeasurementTimeoutInMilliseconds para todas as regiões se esgotar, a medição da região será considerada concluída mesmo sem receber esse número ideal de respostas bem-sucedidas.
O valor padrão é 4 quando PartyOption::RegionQualityMeasurementConfiguration não foi configurada.
maxRetriesWithNoResponse uint16_t
O número máximo de vezes adicionais para reenviar uma mensagem de medição inicial a uma região sem nenhuma resposta antes de considerar a região inacessível.
Esse valor configura o número total de tentativas adicionais, além da primeira, que a biblioteca do Party faz ao repetir a primeira mensagem leve de medição de qualidade para uma região antes de considerá-la indisponível. Se pelo menos uma resposta bem-sucedida for recebida do servidor de beacon de Qualidade de Serviço da região, esse máximo não será mais usado e, em vez disso, o campo maxTimeoutsAfterResponse controlará o número de tentativas que podem atingir o tempo limite. Valores máximos de repetição maiores são mais tolerantes a problemas temporários de ambiente, como perda de pacotes, à custa de levar mais tempo para abandonar regiões inacessíveis. O tempo máximo absoluto permitido para medir todas as regiões é limitado pelo valor separado do campo totalMeasurementTimeoutInMilliseconds.
O valor padrão é 3 quando PartyOption::RegionQualityMeasurementConfiguration não foi configurada.
maxTimeoutsAfterResponse uint16_t
O número máximo de tentativas de mensagens de medição que podem atingir o tempo limite para uma região que já respondeu antes de considerar o caminho de rede muito pouco confiável para continuar a medição.
Se pelo menos uma resposta bem-sucedida tiver sido recebida do servidor de beacon de Qualidade de Serviço de uma região, esse valor determinará o número total de tentativas com tempo limite esgotado que a biblioteca do Party permitirá ao tentar obter os resultados de medição minRequiredSuccessfulResponses e idealNumberOfSuccessfulResponses para a região. Valores máximos de tempo limite maiores são mais tolerantes a problemas temporários de ambiente, como perda de pacotes, à custa de possivelmente levar mais tempo para concluir a medição de regiões com essas características de baixa qualidade. O tempo máximo absoluto permitido para medir todas as regiões é limitado pelo valor separado do campo totalMeasurementTimeoutInMilliseconds.
O valor padrão é 3 quando PartyOption::RegionQualityMeasurementConfiguration não foi configurada.
Comentários
Esta estrutura pode ser usada junto com PartyOption::RegionQualityMeasurementConfiguration para substituir ou consultar a configuração atual da biblioteca do Party por meio de PartyManager::SetOption() ou PartyManager::GetOption(), respectivamente. Ela configura o comportamento de baixo nível do processo de medição da qualidade das regiões associado às alterações de estado PartyRegionsChangedStateChange.Requisitos
Cabeçalho: Party.hConfira também
Membros do PartyPartyOption::RegionQualityMeasurementConfiguration
PartyRegionsChangedStateChange
PartyManager::SetOption
PartyManager::GetOption
