void SpeedTestWorker(string rawConfig) { long avgDelay = -1; long curDelay = SpeedtestTimeout; var cycles = Math.Max(1, setting.isUseCustomSpeedtestSettings ? setting.CustomSpeedtestCycles : 1); coreStates.SetSpeedTestResult(0); coreStates.SetStatus(I18N.Testing); logger.Log(I18N.Testing); for (int i = 0; i < cycles && !setting.isSpeedtestCancelled; i++) { var sr = configMgr.RunDefaultSpeedTest(rawConfig, coreStates.GetTitle(), (s, a) => logger.Log(a.Data)); curDelay = sr.Item1; coreStates.AddStatSample(new VgcApis.Models.Datas.StatsSample(0, sr.Item2)); ShowCurrentSpeedtestResult(I18N.CurSpeedtestResult, curDelay); if (curDelay == SpeedtestTimeout) { continue; } avgDelay = VgcApis.Misc.Utils.SpeedtestMean(avgDelay, curDelay, VgcApis.Models.Consts.Config.CustomSpeedtestMeanWeight); } // all speedtest timeout if (avgDelay <= 0) { avgDelay = SpeedtestTimeout; } ShowCurrentSpeedtestResult(I18N.AvgSpeedtestResult, avgDelay); }
void SpeedTestWorker(string rawConfig) { long avgDelay = -1; long curDelay = SpeedtestTimeout; var cycles = Math.Max(1, setting.isUseCustomSpeedtestSettings ? setting.CustomSpeedtestCycles : 1); coreStates.SetStatus(I18N.Testing); logger.Log(I18N.Testing); for (int i = 0; i < cycles && !setting.isSpeedtestCancelled; i++) { curDelay = configMgr.RunDefaultSpeedTest(rawConfig, coreStates.GetTitle(), (s, a) => logger.Log(a.Data)); logger.Log(I18N.CurSpeedtestResult + TranslateSpeedTestResult(curDelay)); if (curDelay == SpeedtestTimeout) { continue; } avgDelay = VgcApis.Misc.Utils.SpeedtestMean(avgDelay, curDelay, VgcApis.Models.Consts.Config.CustomSpeedtestMeanWeight); } // all speedtest timeout if (avgDelay <= 0) { avgDelay = SpeedtestTimeout; } var speedtestResult = TranslateSpeedTestResult(avgDelay); coreStates.SetStatus(speedtestResult); coreStates.SetSpeedTestResult(avgDelay); logger.Log(I18N.AvgSpeedtestResult + speedtestResult); }