leave it up to the engineclient how to handle messages
This commit is contained in:
parent
4c9d6ef3de
commit
58097fa39e
@ -373,19 +373,15 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
|
|||||||
end: advance(message.startIndex, 2)))
|
end: advance(message.startIndex, 2)))
|
||||||
|
|
||||||
if let data = NSData(base64EncodedString: message,
|
if let data = NSData(base64EncodedString: message,
|
||||||
options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters), client = client {
|
options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters) {
|
||||||
dispatch_async(client.handleQueue) {[weak self] in
|
client?.parseBinaryData(data)
|
||||||
self?.client?.parseBinaryData(data)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private func handleMessage(message: String) {
|
private func handleMessage(message: String) {
|
||||||
if let client = client {
|
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) {
|
private func parseEngineData(data: NSData) {
|
||||||
if let client = client {
|
client?.parseBinaryData(data.subdataWithRange(NSMakeRange(1, data.length - 1)))
|
||||||
dispatch_async(client.handleQueue) {[weak self] in
|
|
||||||
self?.client?.parseBinaryData(data.subdataWithRange(NSMakeRange(1, data.length - 1)))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private func parseEngineMessage(var message: String, fromPolling: Bool) {
|
private func parseEngineMessage(var message: String, fromPolling: Bool) {
|
||||||
|
|||||||
@ -26,7 +26,6 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
@objc public protocol SocketEngineClient {
|
@objc public protocol SocketEngineClient {
|
||||||
var handleQueue: dispatch_queue_t! {get}
|
|
||||||
var socketURL: String {get}
|
var socketURL: String {get}
|
||||||
var secure: Bool {get}
|
var secure: Bool {get}
|
||||||
|
|
||||||
|
|||||||
@ -45,7 +45,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
|
|||||||
public private(set) var engine: SocketEngine?
|
public private(set) var engine: SocketEngine?
|
||||||
public private(set) var secure = false
|
public private(set) var secure = false
|
||||||
public private(set) var status = SocketIOClientStatus.NotConnected
|
public private(set) var status = SocketIOClientStatus.NotConnected
|
||||||
|
|
||||||
public var nsp = "/"
|
public var nsp = "/"
|
||||||
public var opts: [String: AnyObject]?
|
public var opts: [String: AnyObject]?
|
||||||
public var reconnects = true
|
public var reconnects = true
|
||||||
@ -438,11 +438,19 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
|
|||||||
}
|
}
|
||||||
|
|
||||||
public func parseSocketMessage(msg: String) {
|
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) {
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user