more refactoring
This commit is contained in:
parent
ac460d8023
commit
3979b36f63
@ -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 {
|
||||
|
||||
@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 }
|
||||
|
||||
@ -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: [])
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user