From d01d463fd9d83abfd25f8fe856398b63667cdd46 Mon Sep 17 00:00:00 2001 From: yicheng Date: Sat, 22 Dec 2018 21:36:09 +0800 Subject: [PATCH] Chore: make speedRecorder queue concurrent --- ClashX/General/ApiRequest.swift | 2 +- ClashX/General/SpeedDataRecorder.swift | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/ClashX/General/ApiRequest.swift b/ClashX/General/ApiRequest.swift index bf6b4ca..f327b7f 100644 --- a/ClashX/General/ApiRequest.swift +++ b/ClashX/General/ApiRequest.swift @@ -66,7 +66,7 @@ class ApiRequest{ ConfigManager.shared.isRunning = true callback(nil) } else { - let err = JSON(res.result.value as Any)["message"].string ?? "error occoured, Please try to fix it by restarting ClashX. " + let err = JSON(res.result.value as Any)["message"].string ?? "Error occoured, Please try to fix it by restarting ClashX. " if err.contains("no such file or directory") { ConfigManager.selectConfigName = "config" } else { diff --git a/ClashX/General/SpeedDataRecorder.swift b/ClashX/General/SpeedDataRecorder.swift index 1175a82..d841763 100644 --- a/ClashX/General/SpeedDataRecorder.swift +++ b/ClashX/General/SpeedDataRecorder.swift @@ -12,8 +12,7 @@ class SpeedDataRecorder { static let shared = SpeedDataRecorder() private init(){} - private let queue = DispatchQueue(label: "clashx.SpeedDataRecorder") - + private let queue = DispatchQueue(label: "clashx.SpeedDataRecorder", qos: .default, attributes: .concurrent) private var speedDict = [String:Int]() func getDelay(_ proxyName:String) -> Int? { @@ -25,7 +24,7 @@ class SpeedDataRecorder { } func setDelay(_ proxyName:String,delay:Int?) { - queue.async(group: nil, qos: .default, flags: DispatchWorkItemFlags.barrier) { + queue.async(qos: .default, flags: .barrier) { [weak self] in self?.speedDict[proxyName] = delay }