more refactoring

This commit is contained in:
Erik 2016-01-15 14:15:50 -05:00
parent ac460d8023
commit 3979b36f63
4 changed files with 9 additions and 15 deletions

View File

@ -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 {

View File

@ -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()
}
}

View File

@ -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 }

View File

@ -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: [])
}
}