From 3c9c473e7087ad764c77f524aee0983845f93f2e Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 27 Jul 2015 17:12:57 -0400 Subject: [PATCH 1/3] clean up socketpacket --- SocketIOClientSwift/SocketPacket.swift | 62 ++++++++++++++------------ 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/SocketIOClientSwift/SocketPacket.swift b/SocketIOClientSwift/SocketPacket.swift index 1287f3b..9ce91bb 100644 --- a/SocketIOClientSwift/SocketPacket.swift +++ b/SocketIOClientSwift/SocketPacket.swift @@ -73,22 +73,6 @@ struct SocketPacket { self.binary = binary } - static func packetFromEmitWithData(data:[AnyObject], id:Int, nsp:String) -> SocketPacket { - let (parsedData, binary) = deconstructData(data) - let packet = SocketPacket(type: findType(binary.count, ack: false), data: parsedData, - id: id, nsp: nsp, placeholders: -1, binary: binary) - - return packet - } - - static func packetFromEmitAckWithData(data:[AnyObject], id:Int, nsp:String) -> SocketPacket { - let (parsedData, binary) = deconstructData(data) - let packet = SocketPacket(type: findType(binary.count, ack: true), data: parsedData, - id: id, nsp: nsp, placeholders: -1, binary: binary) - - return packet - } - mutating func addData(data:NSData) -> Bool { if placeholders == currentPlace { return true @@ -144,7 +128,7 @@ struct SocketPacket { } func createAck() -> String { - var msg:String + let msg:String if type == PacketType.ACK { if nsp == "/" { @@ -242,6 +226,23 @@ struct SocketPacket { } } + func getEvent() -> String { + return data[0] as! String + } + + func getArgs() -> [AnyObject]? { + var arr = data + + if data.count == 0 { + return nil + } else { + arr.removeAtIndex(0) + return arr + } + } +} + +extension SocketPacket { private static func findType(binCount:Int, ack:Bool) -> PacketType { switch binCount { case 0 where !ack: @@ -257,21 +258,24 @@ struct SocketPacket { } } - func getEvent() -> String { - return data[0] as! String - } - - func getArgs() -> [AnyObject]? { - var arr = data + static func packetFromEmitWithData(data:[AnyObject], id:Int, nsp:String) -> SocketPacket { + let (parsedData, binary) = deconstructData(data) + let packet = SocketPacket(type: findType(binary.count, ack: false), data: parsedData, + id: id, nsp: nsp, placeholders: -1, binary: binary) - if data.count == 0 { - return nil - } else { - arr.removeAtIndex(0) - return arr - } + return packet } + static func packetFromEmitAckWithData(data:[AnyObject], id:Int, nsp:String) -> SocketPacket { + let (parsedData, binary) = deconstructData(data) + let packet = SocketPacket(type: findType(binary.count, ack: true), data: parsedData, + id: id, nsp: nsp, placeholders: -1, binary: binary) + + return packet + } +} + +extension SocketPacket { private static func shred(data:AnyObject, inout binary:[NSData]) -> AnyObject { if let bin = data as? NSData { let placeholder = ["_placeholder" :true, "num": binary.count] From e7920062452711093eecfac3864f8a0187b27e86 Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 27 Jul 2015 18:50:12 -0400 Subject: [PATCH 2/3] change to default session config --- SocketIOClientSwift/SocketEngine.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SocketIOClientSwift/SocketEngine.swift b/SocketIOClientSwift/SocketEngine.swift index 86f4b5c..f26f050 100644 --- a/SocketIOClientSwift/SocketEngine.swift +++ b/SocketIOClientSwift/SocketEngine.swift @@ -99,7 +99,7 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { public init(client:SocketEngineClient, sessionDelegate:NSURLSessionDelegate?) { self.client = client - self.session = NSURLSession(configuration: NSURLSessionConfiguration.ephemeralSessionConfiguration(), + self.session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration(), delegate: sessionDelegate, delegateQueue: workQueue) } From feea80a2f9db30c8b47a414e1e63f7361dd7614c Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 31 Jul 2015 16:05:33 -0400 Subject: [PATCH 3/3] use immutable values --- SocketIOClientSwift/SocketPacket.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SocketIOClientSwift/SocketPacket.swift b/SocketIOClientSwift/SocketPacket.swift index 9ce91bb..5adccf6 100644 --- a/SocketIOClientSwift/SocketPacket.swift +++ b/SocketIOClientSwift/SocketPacket.swift @@ -27,6 +27,8 @@ import Foundation struct SocketPacket { let nsp:String let id:Int + let placeholders:Int + let type:PacketType enum PacketType:Int { case CONNECT = 0 @@ -49,8 +51,6 @@ struct SocketPacket { var currentPlace = 0 var binary:[NSData] var data:[AnyObject] - var placeholders:Int - var type:PacketType var description:String { var better = "SocketPacket {type: ~~0; data: ~~1; " + "id: ~~2; placeholders: ~~3;}"