diff --git a/Source/SocketEngine.swift b/Source/SocketEngine.swift index 8bfd8a1..fec7df4 100644 --- a/Source/SocketEngine.swift +++ b/Source/SocketEngine.swift @@ -163,7 +163,7 @@ public final class SocketEngine: NSObject, SocketEnginePollable, SocketEngineWeb } } - public func close() { + public func close(reason: String) { DefaultSocketLogger.Logger.log("Engine is being closed.", type: logType) pingTimer?.invalidate() @@ -179,7 +179,7 @@ public final class SocketEngine: NSObject, SocketEnginePollable, SocketEngineWeb ws?.disconnect() stopPolling() - client?.engineDidClose("Disconnect") + client?.engineDidClose(reason) } private func createURLs(params: [String: AnyObject]?) -> (String, String) { diff --git a/Source/SocketEngineSpec.swift b/Source/SocketEngineSpec.swift index f60fc52..a12c323 100644 --- a/Source/SocketEngineSpec.swift +++ b/Source/SocketEngineSpec.swift @@ -48,7 +48,7 @@ import Foundation init(client: SocketEngineClient, url: String, options: NSDictionary?) - func close() + func close(reason: String) func didError(error: String) func doFastUpgrade() func flushWaitingForPostToWebSocket() diff --git a/Source/SocketIOClient.swift b/Source/SocketIOClient.swift index c4369df..57a1bcd 100644 --- a/Source/SocketIOClient.swift +++ b/Source/SocketIOClient.swift @@ -109,7 +109,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketParsable deinit { DefaultSocketLogger.Logger.log("Client is being deinit", type: logType) - engine?.close() + engine?.close("Client Deinit") } private func addEngine() -> SocketEngineSpec { @@ -172,7 +172,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketParsable dispatch_after(time, handleQueue) {[weak self] in if let this = self where this.status != .Connected { this.status = .Closed - this.engine?.close() + this.engine?.close("Connect timeout") handler?() } @@ -223,7 +223,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketParsable reconnects = false // Make sure the engine is actually dead. - engine?.close() + engine?.close("Client closed") handleEvent("disconnect", data: [reason], isInternalMessage: true) }