From 690fb3a35839ace32a21f01dc1126d0569fc456f Mon Sep 17 00:00:00 2001 From: masakih Date: Sat, 5 Aug 2017 13:23:54 +0900 Subject: [PATCH] =?utf8?q?Queue=E3=82=92=E3=82=B8=E3=82=A7=E3=83=8D?= =?utf8?q?=E3=83=AA=E3=82=AF=E3=82=B9=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- KCD/JSONReciever.swift | 4 ++-- KCD/JSONTracker.swift | 7 ++----- KCD/Queue.swift | 8 ++++---- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/KCD/JSONReciever.swift b/KCD/JSONReciever.swift index 46b0a48c..08f03f4f 100644 --- a/KCD/JSONReciever.swift +++ b/KCD/JSONReciever.swift @@ -10,13 +10,13 @@ import Cocoa final class JSONReciever { - init(queue: Queue) { + init(queue: Queue) { self.queue = queue CustomHTTPProtocol.classDelegate = self } - fileprivate let queue: Queue + fileprivate let queue: Queue fileprivate var recievers: [URLProtocol: NSMutableData] = [:] } diff --git a/KCD/JSONTracker.swift b/KCD/JSONTracker.swift index bb2756b1..f3f795f7 100644 --- a/KCD/JSONTracker.swift +++ b/KCD/JSONTracker.swift @@ -10,7 +10,7 @@ import Cocoa final class JSONTracker { - private let queue: Queue + private let queue: Queue private let reciever: JSONReciever init() { @@ -28,12 +28,9 @@ final class JSONTracker { private func doAction() { - guard let item = queue.dequeue() as? APIResponse - else { return print("Dequeued item is not APIResponse") } - do { - try CommandRegister.command(for: item).execute() + try CommandRegister.command(for: queue.dequeue()).execute() } catch { diff --git a/KCD/Queue.swift b/KCD/Queue.swift index 29b74886..3b4f6a40 100644 --- a/KCD/Queue.swift +++ b/KCD/Queue.swift @@ -8,12 +8,12 @@ import Cocoa -final class Queue { +final class Queue { - private var contents: [Any] = [] + private var contents: [T] = [] private let lock = NSCondition() - func dequeue() -> Any { + func dequeue() -> T { lock.lock() defer { lock.unlock() } @@ -26,7 +26,7 @@ final class Queue { return contents.popLast()! } - func enqueue(_ obj: Any) { + func enqueue(_ obj: T) { lock.lock() defer { lock.unlock() } -- 2.11.0