From e0c794cb9f617efb0029b122b1b9e92f5b3d9bb5 Mon Sep 17 00:00:00 2001 From: Erik Date: Tue, 17 Nov 2015 12:34:22 -0500 Subject: [PATCH] refactoring --- .../project.pbxproj | 2 ++ SocketIOClientSwift/SocketEngine.swift | 16 ++++++------- SocketIOClientSwift/SocketEngineSpec.swift | 4 ++-- SocketIOClientSwift/SocketEventHandler.swift | 2 +- SocketIOClientSwift/SocketIOClient.swift | 23 ++++++------------- SocketIOClientSwift/SocketPacket.swift | 2 +- 6 files changed, 21 insertions(+), 28 deletions(-) diff --git a/Socket.IO-Client-Swift.xcodeproj/project.pbxproj b/Socket.IO-Client-Swift.xcodeproj/project.pbxproj index 0bfcd60..dcdfd8a 100644 --- a/Socket.IO-Client-Swift.xcodeproj/project.pbxproj +++ b/Socket.IO-Client-Swift.xcodeproj/project.pbxproj @@ -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 = ""; diff --git a/SocketIOClientSwift/SocketEngine.swift b/SocketIOClientSwift/SocketEngine.swift index 704b53c..9b1a12b 100644 --- a/SocketIOClientSwift/SocketEngine.swift +++ b/SocketIOClientSwift/SocketEngine.swift @@ -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(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) } } diff --git a/SocketIOClientSwift/SocketEngineSpec.swift b/SocketIOClientSwift/SocketEngineSpec.swift index 4387aa4..52ec6e5 100644 --- a/SocketIOClientSwift/SocketEngineSpec.swift +++ b/SocketIOClientSwift/SocketEngineSpec.swift @@ -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]) } diff --git a/SocketIOClientSwift/SocketEventHandler.swift b/SocketIOClientSwift/SocketEventHandler.swift index df7d78b..41774a9 100644 --- a/SocketIOClientSwift/SocketEventHandler.swift +++ b/SocketIOClientSwift/SocketEventHandler.swift @@ -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)) } } diff --git a/SocketIOClientSwift/SocketIOClient.swift b/SocketIOClientSwift/SocketIOClient.swift index 1f4c2b4..af780d3 100644 --- a/SocketIOClientSwift/SocketIOClient.swift +++ b/SocketIOClientSwift/SocketIOClient.swift @@ -44,7 +44,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient { private var anyHandler: ((SocketAnyEvent) -> Void)? private var currentReconnectAttempt = 0 - private var handlers = ContiguousArray() + 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) } diff --git a/SocketIOClientSwift/SocketPacket.swift b/SocketIOClientSwift/SocketPacket.swift index 36e964e..c235c40 100644 --- a/SocketIOClientSwift/SocketPacket.swift +++ b/SocketIOClientSwift/SocketPacket.swift @@ -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 {