diff --git a/Source/SocketEngine.swift b/Source/SocketEngine.swift index bae0613..1f914fc 100644 --- a/Source/SocketEngine.swift +++ b/Source/SocketEngine.swift @@ -24,17 +24,14 @@ import Foundation -public final class SocketEngine: NSObject, SocketEngineSpec, SocketEnginePollable, SocketEngineWebsocket { +public final class SocketEngine: NSObject, SocketEnginePollable, SocketEngineWebsocket { public let emitQueue = dispatch_queue_create("com.socketio.engineEmitQueue", DISPATCH_QUEUE_SERIAL) public let handleQueue = dispatch_queue_create("com.socketio.engineHandleQueue", DISPATCH_QUEUE_SERIAL) public let parseQueue = dispatch_queue_create("com.socketio.engineParseQueue", DISPATCH_QUEUE_SERIAL) - public var invalidated = false public var postWait = [String]() - public var probing = false public var waitingForPoll = false public var waitingForPost = false - public var websocketConnected = false public private(set) var closed = false public private(set) var connected = false @@ -43,8 +40,10 @@ public final class SocketEngine: NSObject, SocketEngineSpec, SocketEnginePollabl public private(set) var fastUpgrade = false public private(set) var forcePolling = false public private(set) var forceWebsockets = false + public private(set) var invalidated = false public private(set) var pingTimer: NSTimer? public private(set) var polling = true + public private(set) var probing = false public private(set) var session: NSURLSession? public private(set) var sid = "" public private(set) var socketPath = "/engine.io" @@ -171,6 +170,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, SocketEnginePollabl pingTimer?.invalidate() closed = true + invalidated = true connected = false if websocket { @@ -468,7 +468,6 @@ public final class SocketEngine: NSObject, SocketEngineSpec, SocketEnginePollabl waitingForPoll = false waitingForPost = false websocket = false - websocketConnected = false } /// Send an engine message (4) @@ -506,7 +505,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, SocketEnginePollabl } private func upgradeTransport() { - if websocketConnected { + if ws?.isConnected ?? false { DefaultSocketLogger.Logger.log("Upgrading transport to WebSockets", type: logType) fastUpgrade = true @@ -536,8 +535,6 @@ public final class SocketEngine: NSObject, SocketEngineSpec, SocketEnginePollabl // Delagate methods public func websocketDidConnect(socket: WebSocket) { - websocketConnected = true - if !forceWebsockets { probing = true probeWebSocket() @@ -549,7 +546,6 @@ public final class SocketEngine: NSObject, SocketEngineSpec, SocketEnginePollabl } public func websocketDidDisconnect(socket: WebSocket, error: NSError?) { - websocketConnected = false probing = false if closed { diff --git a/Source/SocketEnginePollable.swift b/Source/SocketEnginePollable.swift index 8a325b9..52d09d6 100644 --- a/Source/SocketEnginePollable.swift +++ b/Source/SocketEnginePollable.swift @@ -25,7 +25,7 @@ import Foundation public protocol SocketEnginePollable: SocketEngineSpec { - var invalidated: Bool { get set } + var invalidated: Bool { get } var session: NSURLSession? { get } var waitingForPoll: Bool { get set } var waitingForPost: Bool { get set } @@ -211,7 +211,6 @@ extension SocketEnginePollable { } public func stopPolling() { - invalidated = true session?.finishTasksAndInvalidate() } } diff --git a/Source/SocketEngineSpec.swift b/Source/SocketEngineSpec.swift index 11ed9a0..f00f967 100644 --- a/Source/SocketEngineSpec.swift +++ b/Source/SocketEngineSpec.swift @@ -37,8 +37,8 @@ import Foundation var parseQueue: dispatch_queue_t! { get } var pingTimer: NSTimer? { get } var polling: Bool { get } - var postWait: [String] { get set } - var probing: Bool { get set } + var postWait: [String] { get set } // Would like to change to get only + var probing: Bool { get } // Would like to change to get only var emitQueue: dispatch_queue_t! { get } var handleQueue: dispatch_queue_t! { get } var sid: String { get } diff --git a/Source/SocketEngineWebsocket.swift b/Source/SocketEngineWebsocket.swift index 8961592..53215c7 100644 --- a/Source/SocketEngineWebsocket.swift +++ b/Source/SocketEngineWebsocket.swift @@ -26,7 +26,6 @@ import Foundation public protocol SocketEngineWebsocket: SocketEngineSpec, WebSocketDelegate { - var websocketConnected: Bool { get set } var ws: WebSocket? { get } func sendWebSocketMessage(str: String, withType type: SocketEnginePacketType, withData datas: [NSData]) @@ -35,7 +34,7 @@ public protocol SocketEngineWebsocket: SocketEngineSpec, WebSocketDelegate { // WebSocket methods extension SocketEngineWebsocket { func probeWebSocket() { - if websocketConnected { + if ws?.isConnected ?? false { sendWebSocketMessage("probe", withType: .Ping, withData: []) } }