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); }
public void ShowFormLog() { Views.WinForms.FormSingleServerLog form = null; if (logForm == null) { var title = coreInfo.GetTitle(); VgcApis.Misc.UI.Invoke(() => { form = Views.WinForms.FormSingleServerLog.CreateLogForm(title, this); }); } lock (formLogLocker) { if (logForm == null) { logForm = form; } } VgcApis.Misc.UI.Invoke(() => { if (logForm == form && form != null) { form.FormClosed += (s, a) => logForm = null; } else { form?.Close(); } logForm?.Activate(); }); }