From cc99eae737238cdb3589e9de18f879caa76fca1a Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 20 Apr 2015 12:42:35 -0400 Subject: [PATCH] Add messages for socket/engine deinit --- SocketIOClientSwift/SocketEngine.swift | 4 ++++ SocketIOClientSwift/SocketIOClient.swift | 26 ++++++++++++++---------- SocketIOClientSwift/SocketLogger.swift | 6 +++--- SocketIOClientSwift/SwiftRegex.swift | 2 +- 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/SocketIOClientSwift/SocketEngine.swift b/SocketIOClientSwift/SocketEngine.swift index 9bdccc2..4be2a87 100644 --- a/SocketIOClientSwift/SocketEngine.swift +++ b/SocketIOClientSwift/SocketEngine.swift @@ -104,6 +104,10 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { delegate: sessionDelegate, delegateQueue: self.workQueue) } + deinit { + SocketLogger.log("Engine is being deinit", client: self) + } + public func close(#fast:Bool) { self.pingTimer?.invalidate() self.closed = true diff --git a/SocketIOClientSwift/SocketIOClient.swift b/SocketIOClientSwift/SocketIOClient.swift index 7d9dd1d..3fc2d75 100644 --- a/SocketIOClientSwift/SocketIOClient.swift +++ b/SocketIOClientSwift/SocketIOClient.swift @@ -62,7 +62,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient return self._connecting } public var cookies:[NSHTTPCookie]? - public var engine:SocketEngine? + public var engine:SocketEngine! public var nsp = "/" public var reconnects = true public var reconnecting:Bool { @@ -143,6 +143,10 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient self.init(socketURL: socketURL, opts: options) } + deinit { + SocketLogger.log("Client is being deinit", client: self) + } + private func addEngine() { SocketLogger.log("Adding engine", client: self) @@ -166,7 +170,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient self._connecting = false self._connected = false self._reconnecting = false - self.engine?.close(fast: fast) + self.engine.close(fast: fast) } /** @@ -183,7 +187,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient } self.addEngine() - self.engine?.open() + self.engine.open() } /** @@ -203,7 +207,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient self.paramConnect = true self.addEngine() - self.engine?.open(opts: params) + self.engine.open(opts: params) } private func createOnAck(event:String, items:[AnyObject]) -> OnAckCallback { @@ -238,7 +242,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient self.currentReconnectAttempt = 0 self.reconnectTimer?.invalidate() self.reconnectTimer = nil - self._sid = self.engine?.sid + self._sid = self.engine.sid // Don't handle as internal because something crazy could happen where // we disconnect before it's handled @@ -323,9 +327,9 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient SocketLogger.log("Emitting: \(str)", client: self) if packet.type == SocketPacket.PacketType.BINARY_EVENT { - self.engine?.send(str, withData: packet.binary) + self.engine.send(str, withData: packet.binary) } else { - self.engine?.send(str, withData: nil) + self.engine.send(str, withData: nil) } } @@ -343,11 +347,11 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient str = packet.createAck() SocketLogger.log("Emitting Ack: \(str)", client: self!) - + if packet.type == SocketPacket.PacketType.BINARY_ACK { - self?.engine?.send(str, withData: packet.binary) + self?.engine.send(str, withData: packet.binary) } else { - self?.engine?.send(str, withData: nil) + self?.engine.send(str, withData: nil) } } } @@ -409,7 +413,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient SocketLogger.log("Joining namespace", client: self) if self.nsp != "/" { - self.engine?.send("0/\(self.nsp)", withData: nil) + self.engine.send("0/\(self.nsp)", withData: nil) } } diff --git a/SocketIOClientSwift/SocketLogger.swift b/SocketIOClientSwift/SocketLogger.swift index b4c60f6..5c8494c 100644 --- a/SocketIOClientSwift/SocketLogger.swift +++ b/SocketIOClientSwift/SocketLogger.swift @@ -37,8 +37,8 @@ final class SocketLogger { return } - dispatch_async(printQueue) { - NSLog("%@: %@", altType ?? client.logType, message) + dispatch_async(printQueue) {[type = client.logType] in + NSLog("%@: %@", altType ?? type, message) } } @@ -47,7 +47,7 @@ final class SocketLogger { return } - dispatch_async(printQueue) { + dispatch_async(printQueue) {[type = client.logType] in NSLog("ERROR %@: %@", altType ?? client.logType, message) } } diff --git a/SocketIOClientSwift/SwiftRegex.swift b/SocketIOClientSwift/SwiftRegex.swift index badd5e1..2bbb363 100644 --- a/SocketIOClientSwift/SwiftRegex.swift +++ b/SocketIOClientSwift/SwiftRegex.swift @@ -152,7 +152,7 @@ public class SwiftRegex: NSObject, BooleanType { pos = matchRange.location + matchRange.length } - out.appendString(substring( NSRange(location:pos, length:targetRange.length-pos))!) + out.appendString(substring(NSRange(location:pos, length:targetRange.length-pos))!) return out as String }