Beispiel #1
0
 private void Speedtest(ESpeedActionType actionType)
 {
     if (GetLvSelectedIndex() < 0)
     {
         return;
     }
     ClearTestResult();
     SpeedtestHandler statistics = new SpeedtestHandler(config, v2rayHandler, lstSelecteds, actionType, UpdateSpeedtestHandler);
 }
Beispiel #2
0
        public SpeedtestHandler(Config config, V2rayHandler v2rayHandler, List <VmessItem> selecteds, ESpeedActionType actionType, Action <string, string> update)
        {
            _config       = config;
            _v2rayHandler = v2rayHandler;
            //_selecteds = Utils.DeepCopy(selecteds);
            _updateFunc = update;

            _selecteds = new List <ServerTestItem>();
            foreach (var it in selecteds)
            {
                _selecteds.Add(new ServerTestItem()
                {
                    indexId    = it.indexId,
                    address    = it.address,
                    port       = it.port,
                    configType = it.configType
                });
            }

            if (actionType == ESpeedActionType.Ping)
            {
                Task.Run(() => RunPing());
            }
            else if (actionType == ESpeedActionType.Tcping)
            {
                Task.Run(() => RunTcping());
            }
            else if (actionType == ESpeedActionType.Realping)
            {
                Task.Run(() => RunRealPing());
            }
            else if (actionType == ESpeedActionType.Speedtest)
            {
                Task.Run(() => RunSpeedTestAsync());
            }
        }