refactoring

This commit is contained in:
Erik 2015-11-17 12:34:22 -05:00
parent db63aa63c2
commit e0c794cb9f
6 changed files with 21 additions and 28 deletions

View File

@ -1283,6 +1283,7 @@
SDKROOT = appletvos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
TVOS_DEPLOYMENT_TARGET = 9.0;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
@ -1333,6 +1334,7 @@
SDKROOT = appletvos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
TVOS_DEPLOYMENT_TARGET = 9.0;
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";

View File

@ -34,7 +34,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
public weak var client: SocketEngineClient?
private typealias Probe = (msg: String, type: SocketEnginePacketType, data: [NSData]?)
private typealias Probe = (msg: String, type: SocketEnginePacketType, data: [NSData])
private typealias ProbeWaitQueue = [Probe]
private let allowedCharacterSet = NSCharacterSet(charactersInString: "!*'();:@&=+$,/?%#[]\" {}").invertedSet
@ -124,11 +124,11 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
private func checkIfMessageIsBase64Binary(var message: String) {
if message.hasPrefix("b4") {
// binary in base64 string
message.removeRange(Range<String.Index>(start: message.startIndex,
message.removeRange(Range(start: message.startIndex,
end: message.startIndex.advancedBy(2)))
if let data = NSData(base64EncodedString: message,
options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters) {
options: .IgnoreUnknownCharacters) {
client?.parseBinaryData(data)
}
}
@ -419,7 +419,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
}
/// Send an engine message (4)
public func send(msg: String, withData datas: [NSData]?) {
public func send(msg: String, withData datas: [NSData]) {
if probing {
probeWait.append((msg, .Message, datas))
} else {
@ -436,7 +436,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
}
++pongsMissed
write("", withType: .Ping, withData: nil)
write("", withType: .Ping, withData: [])
}
// Starts the ping timer
@ -465,16 +465,16 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
/**
Write a message, independent of transport.
*/
public func write(msg: String, withType type: SocketEnginePacketType, withData data: [NSData]?) {
public func write(msg: String, withType type: SocketEnginePacketType, withData data: [NSData]) {
dispatch_async(emitQueue) {
if self.connected {
if self.websocket {
DefaultSocketLogger.Logger.log("Writing ws: %@ has data: %@", type: self.logType, args: msg,
data == nil ? false : true)
data.count == 0 ? false : true)
self.sendWebSocketMessage(msg, withType: type, datas: data)
} else {
DefaultSocketLogger.Logger.log("Writing poll: %@ has data: %@", type: self.logType, args: msg,
data == nil ? false : true)
data.count == 0 ? false : true)
self.sendPollMessage(msg, withType: type, datas: data)
}
}

View File

@ -37,6 +37,6 @@ import Foundation
func close()
func open(opts: [String: AnyObject]?)
func send(msg: String, withData datas: [NSData]?)
func write(msg: String, withType type: SocketEnginePacketType, withData data: [NSData]?)
func send(msg: String, withData datas: [NSData])
func write(msg: String, withType type: SocketEnginePacketType, withData data: [NSData])
}

View File

@ -30,6 +30,6 @@ struct SocketEventHandler {
let callback: NormalCallback
func executeCallback(items: [AnyObject], withAck ack: Int, withSocket socket: SocketIOClient) {
self.callback(items, SocketAckEmitter(socket: socket, ackNum: ack))
callback(items, SocketAckEmitter(socket: socket, ackNum: ack))
}
}

View File

@ -44,7 +44,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
private var anyHandler: ((SocketAnyEvent) -> Void)?
private var currentReconnectAttempt = 0
private var handlers = ContiguousArray<SocketEventHandler>()
private var handlers = [SocketEventHandler]()
private var connectParams: [String: AnyObject]?
private var reconnectTimer: NSTimer?
private var ackHandlers = SocketAckManager()
@ -288,11 +288,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
DefaultSocketLogger.Logger.log("Emitting: %@", type: logType, args: str)
if packet.type == .BinaryEvent {
engine?.send(str, withData: packet.binary)
} else {
engine?.send(str, withData: nil)
}
engine?.send(str, withData: packet.binary)
}
// If the server wants to know that the client received data
@ -304,12 +300,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
DefaultSocketLogger.Logger.log("Emitting Ack: %@", type: self.logType, args: str)
if packet.type == SocketPacket.PacketType.BinaryAck {
self.engine?.send(str, withData: packet.binary)
} else {
self.engine?.send(str, withData: nil)
}
self.engine?.send(str, withData: packet.binary)
}
}
}
@ -362,7 +353,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
*/
public func leaveNamespace() {
if nsp != "/" {
engine?.send("1\(nsp)", withData: nil)
engine?.send("1\(nsp)", withData: [])
nsp = "/"
}
}
@ -374,7 +365,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
DefaultSocketLogger.Logger.log("Joining namespace", type: logType)
if nsp != "/" {
engine?.send("0\(nsp)", withData: nil)
engine?.send("0\(nsp)", withData: [])
}
}
@ -392,7 +383,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
public func off(event: String) {
DefaultSocketLogger.Logger.log("Removing handler for event: %@", type: logType, args: event)
handlers = ContiguousArray(handlers.filter { $0.event != event })
handlers = handlers.filter { $0.event != event }
}
/**
@ -415,7 +406,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
let handler = SocketEventHandler(event: event, id: id) {[weak self] data, ack in
guard let this = self else {return}
this.handlers = ContiguousArray(this.handlers.filter {$0.id != id})
this.handlers = this.handlers.filter {$0.id != id}
callback(data, ack)
}

View File

@ -45,7 +45,7 @@ struct SocketPacket {
if data.count == 0 {
return nil
} else {
if type == PacketType.Event || type == PacketType.BinaryEvent {
if type == .Event || type == .BinaryEvent {
arr.removeAtIndex(0)
return arr
} else {