From 58097fa39e64685d5b36c735d8a5741a67ac10ef Mon Sep 17 00:00:00 2001 From: Erik Date: Tue, 18 Aug 2015 10:05:51 -0400 Subject: [PATCH] leave it up to the engineclient how to handle messages --- SocketIOClientSwift/SocketEngine.swift | 16 ++++------------ SocketIOClientSwift/SocketEngineClient.swift | 1 - SocketIOClientSwift/SocketIOClient.swift | 14 +++++++++++--- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/SocketIOClientSwift/SocketEngine.swift b/SocketIOClientSwift/SocketEngine.swift index 1c6a465..cbd5c61 100644 --- a/SocketIOClientSwift/SocketEngine.swift +++ b/SocketIOClientSwift/SocketEngine.swift @@ -373,19 +373,15 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { end: advance(message.startIndex, 2))) if let data = NSData(base64EncodedString: message, - options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters), client = client { - dispatch_async(client.handleQueue) {[weak self] in - self?.client?.parseBinaryData(data) - } + options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters) { + client?.parseBinaryData(data) } } } private func handleMessage(message: String) { if let client = client { - dispatch_async(client.handleQueue) {[weak client] in - client?.parseSocketMessage(message) - } + client.parseSocketMessage(message) } } @@ -543,11 +539,7 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { } private func parseEngineData(data: NSData) { - if let client = client { - dispatch_async(client.handleQueue) {[weak self] in - self?.client?.parseBinaryData(data.subdataWithRange(NSMakeRange(1, data.length - 1))) - } - } + client?.parseBinaryData(data.subdataWithRange(NSMakeRange(1, data.length - 1))) } private func parseEngineMessage(var message: String, fromPolling: Bool) { diff --git a/SocketIOClientSwift/SocketEngineClient.swift b/SocketIOClientSwift/SocketEngineClient.swift index bf22886..bc0f4ae 100644 --- a/SocketIOClientSwift/SocketEngineClient.swift +++ b/SocketIOClientSwift/SocketEngineClient.swift @@ -26,7 +26,6 @@ import Foundation @objc public protocol SocketEngineClient { - var handleQueue: dispatch_queue_t! {get} var socketURL: String {get} var secure: Bool {get} diff --git a/SocketIOClientSwift/SocketIOClient.swift b/SocketIOClientSwift/SocketIOClient.swift index 8c53b8f..2612ca6 100644 --- a/SocketIOClientSwift/SocketIOClient.swift +++ b/SocketIOClientSwift/SocketIOClient.swift @@ -45,7 +45,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient public private(set) var engine: SocketEngine? public private(set) var secure = false public private(set) var status = SocketIOClientStatus.NotConnected - + public var nsp = "/" public var opts: [String: AnyObject]? public var reconnects = true @@ -438,11 +438,19 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient } public func parseSocketMessage(msg: String) { - SocketParser.parseSocketMessage(msg, socket: self) + dispatch_async(handleQueue) {[weak self] in + if let this = self { + SocketParser.parseSocketMessage(msg, socket: this) + } + } } public func parseBinaryData(data: NSData) { - SocketParser.parseBinaryData(data, socket: self) + dispatch_async(handleQueue) {[weak self] in + if let this = self { + SocketParser.parseBinaryData(data, socket: this) + } + } } /**