Chore: make speedRecorder queue concurrent

This commit is contained in:
yicheng 2018-12-22 21:36:09 +08:00
parent 429afc9a51
commit d01d463fd9
2 changed files with 3 additions and 4 deletions

View File

@ -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 {

View File

@ -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
}