|
|
@@ -17,15 +17,15 @@ public class HttpServerIO {
|
|
|
private var clientSockets: Set<Socket> = []
|
|
|
private let clientSocketsLock = NSLock()
|
|
|
|
|
|
- public func start(listenPort: in_port_t = 8080, forceIPv4: Bool = false) throws {
|
|
|
+ public func start(listenPort: in_port_t = 8080, forceIPv4: Bool = false, priority: Int = DISPATCH_QUEUE_PRIORITY_BACKGROUND) throws {
|
|
|
stop()
|
|
|
listenSocket = try Socket.tcpSocketForListen(listenPort, forceIPv4: forceIPv4)
|
|
|
- dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)) {
|
|
|
+ dispatch_async(dispatch_get_global_queue(priority, 0)) {
|
|
|
while let socket = try? self.listenSocket.acceptClientSocket() {
|
|
|
self.lock(self.clientSocketsLock) {
|
|
|
self.clientSockets.insert(socket)
|
|
|
}
|
|
|
- dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), {
|
|
|
+ dispatch_async(dispatch_get_global_queue(priority, 0), {
|
|
|
self.handleConnection(socket)
|
|
|
self.lock(self.clientSocketsLock) {
|
|
|
self.clientSockets.remove(socket)
|