leave it up to the engineclient how to handle messages

This commit is contained in:
Erik 2015-08-18 10:05:51 -04:00
parent 4c9d6ef3de
commit 58097fa39e
3 changed files with 15 additions and 16 deletions

View File

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

View File

@ -26,7 +26,6 @@
import Foundation
@objc public protocol SocketEngineClient {
var handleQueue: dispatch_queue_t! {get}
var socketURL: String {get}
var secure: Bool {get}

View File

@ -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)
}
}
}
/**