OSDN Git Service

洋上補給の補強増設用のショートネームをつけた
[kcd/KCD.git] / KCD / JSONTracker.swift
1 //
2 //  JSONTracker.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2017/01/21.
6 //  Copyright © 2017年 Hori,Masaki. All rights reserved.
7 //
8
9 import Cocoa
10
11 final class JSONTracker {
12     
13     private let queue = Queue<APIResponse>()
14     private let reciever: JSONReciever
15     
16     init() {
17         
18         reciever = JSONReciever(queue: queue)
19         
20         start()
21     }
22     
23     private func doAction() {
24         
25         do {
26             
27             try CommandRegister.command(for: queue.dequeue()).execute()
28             
29         } catch {
30             
31             print("JSONTracker Cought Exception -> \(error)")
32         }
33     }
34     
35     private func start() {
36         
37         DispatchQueue(label: "JSONTracker")
38             .async { while true { autoreleasepool { self.doAction() } } }
39     }
40 }