void SpeedTestWorker(string rawConfig) { long lastDelay = -1; long curDelay = long.MaxValue; var cycles = Math.Max(1, setting.isUseCustomSpeedtestSettings ? setting.CustomSpeedtestCycles : 1); coreStates.SetStatus(I18N.Testing); logger.Log(I18N.Testing); for (int i = 0; i < cycles; i++) { curDelay = configMgr.RunDefaultSpeedTest(rawConfig, coreStates.GetTitle(), (s, a) => logger.Log(a.Data)); if (curDelay == long.MaxValue) { logger.Log(I18N.Timeout); continue; } logger.Log($"{curDelay.ToString()} ms"); lastDelay = VgcApis.Libs.Utils.SpeedtestMean( lastDelay, curDelay, VgcApis.Models.Consts.Config.CustomSpeedtestMeanWeight); } var lastResult = $"{lastDelay.ToString()} ms"; // all speedtest timeout if (lastDelay <= 0) { lastDelay = long.MaxValue; lastResult = I18N.Timeout; } coreStates.SetStatus(lastResult); coreStates.SetSpeedTestResult(lastDelay); logger.Log(lastResult); }
void SpeedTestWorker(string rawConfig) { coreStates.SetStatus(I18N.Testing); logger.Log(I18N.Testing); var delay = configMgr.RunDefaultSpeedTest( rawConfig, coreStates.GetTitle(), (s, a) => logger.Log(a.Data)); coreStates.SetSpeedTestResult(delay); var speedTestResult = delay < long.MaxValue ? $"{delay.ToString()} ms" : I18N.Timeout; coreStates.SetStatus(speedTestResult); logger.Log(speedTestResult); }