private void Speedtest(ESpeedActionType actionType) { if (GetLvSelectedIndex() < 0) { return; } ClearTestResult(); SpeedtestHandler statistics = new SpeedtestHandler(config, v2rayHandler, lstSelecteds, actionType, UpdateSpeedtestHandler); }
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()); } }