diff --git a/SocketIOClientSwift/SocketEngine.swift b/SocketIOClientSwift/SocketEngine.swift index 23c5e53..24913bd 100644 --- a/SocketIOClientSwift/SocketEngine.swift +++ b/SocketIOClientSwift/SocketEngine.swift @@ -36,7 +36,6 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { private let session:NSURLSession! private var closed = false - private var _connected = false private var extraHeaders: [String: String]? private var fastUpgrade = false private var forcePolling = false @@ -51,32 +50,25 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { private var pongsMissed = 0 private var pongsMissedMax = 0 private var postWait = [String]() - private var _polling = true private var probing = false private var probeWait = ProbeWaitQueue() private var waitingForPoll = false private var waitingForPost = false - private var _websocket = false private var websocketConnected = false let logType = "SocketEngine" - var connected: Bool { - return _connected - } + private(set) var connected = false + private(set) var polling = true + private(set) var websocket = false + weak var client: SocketEngineClient? var cookies: [NSHTTPCookie]? var log = false - var polling: Bool { - return _polling - } var sid = "" var socketPath = "" var urlPolling: String? var urlWebSocket: String? - var websocket: Bool { - return _websocket - } var ws:WebSocket? public enum PacketType: Int { @@ -214,8 +206,8 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { } sendWebSocketMessage("", withType: PacketType.Upgrade, datas: nil) - _websocket = true - _polling = false + websocket = true + polling = false fastUpgrade = false probing = false flushProbeWait() @@ -409,7 +401,7 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { options: NSJSONReadingOptions.AllowFragments) as? NSDictionary if let sid = json?["sid"] as? String { self.sid = sid - _connected = true + connected = true if !forcePolling && !forceWebsockets { createWebsocket(andConnect: true) @@ -442,7 +434,7 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { // A poll failed, tell the client about it private func handlePollingFailed(reason: String) { - _connected = false + connected = false ws?.disconnect() pingTimer?.invalidate() waitingForPoll = false @@ -475,8 +467,8 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { (urlPolling, urlWebSocket) = createURLs(opts) if forceWebsockets { - _polling = false - _websocket = true + polling = false + websocket = true createWebsocket(andConnect: true) return } @@ -731,9 +723,9 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { probing = true probeWebSocket() } else { - _connected = true + connected = true probing = false - _polling = false + polling = false } } @@ -748,8 +740,8 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { if websocket { pingTimer?.invalidate() - _connected = false - _websocket = false + connected = false + websocket = false let reason = error?.localizedDescription ?? "Socket Disconnected" diff --git a/SocketIOClientSwift/SocketIOClient.swift b/SocketIOClientSwift/SocketIOClient.swift index ed0eafd..8405c0d 100644 --- a/SocketIOClientSwift/SocketIOClient.swift +++ b/SocketIOClientSwift/SocketIOClient.swift @@ -26,10 +26,8 @@ import Foundation public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient { private var anyHandler:((SocketAnyEvent) -> Void)? - public private(set) var status = SocketIOClientStatus.NotConnected private var currentReconnectAttempt = 0 private var handlers = ContiguousArray() - public private(set) var secure = false private var connectParams: [String: AnyObject]? private var reconnectTimer: NSTimer? @@ -45,6 +43,9 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient public let handleQueue: dispatch_queue_t! public let emitQueue = dispatch_queue_create("emitQueue", DISPATCH_QUEUE_SERIAL) + public private(set) var secure = false + public private(set) var status = SocketIOClientStatus.NotConnected + public var engine:SocketEngine? public var nsp = "/" public var opts: [String: AnyObject]? diff --git a/SocketIOClientSwift/SocketPacket.swift b/SocketIOClientSwift/SocketPacket.swift index adff5b0..27c4674 100644 --- a/SocketIOClientSwift/SocketPacket.swift +++ b/SocketIOClientSwift/SocketPacket.swift @@ -272,8 +272,8 @@ extension SocketPacket { } } -extension SocketPacket { - private static func shred(data: AnyObject, inout binary: [NSData]) -> AnyObject { +private extension SocketPacket { + static func shred(data: AnyObject, inout binary: [NSData]) -> AnyObject { if let bin = data as? NSData { let placeholder = ["_placeholder" :true, "num": binary.count] @@ -301,7 +301,7 @@ extension SocketPacket { } } - private static func deconstructData(var data: [AnyObject]) -> ([AnyObject], [NSData]) { + static func deconstructData(var data: [AnyObject]) -> ([AnyObject], [NSData]) { var binary = [NSData]() for i in 0..