コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }