This commit is contained in:
Erik 2015-08-11 10:03:35 -04:00
parent 884b73c777
commit 4014286da2

View File

@ -145,31 +145,31 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
*/ */
public func connect(timeoutAfter timeoutAfter:Int, public func connect(timeoutAfter timeoutAfter:Int,
withTimeoutHandler handler:(() -> Void)?) { withTimeoutHandler handler:(() -> Void)?) {
guard status != SocketIOClientStatus.Connected else { guard status != SocketIOClientStatus.Connected else {
return return
} }
if status == SocketIOClientStatus.Closed { if status == SocketIOClientStatus.Closed {
SocketLogger.log("Warning! This socket was previously closed. This might be dangerous!", client: self) SocketLogger.log("Warning! This socket was previously closed. This might be dangerous!", client: self)
} }
status = SocketIOClientStatus.Connecting status = SocketIOClientStatus.Connecting
addEngine() addEngine()
engine?.open(connectParams) engine?.open(connectParams)
guard timeoutAfter != 0 else { guard timeoutAfter != 0 else {
return return
} }
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(timeoutAfter) * Int64(NSEC_PER_SEC)) let time = dispatch_time(DISPATCH_TIME_NOW, Int64(timeoutAfter) * Int64(NSEC_PER_SEC))
dispatch_after(time, dispatch_get_main_queue()) {[weak self] in dispatch_after(time, dispatch_get_main_queue()) {[weak self] in
if let this = self where this.status != SocketIOClientStatus.Connected { if let this = self where this.status != SocketIOClientStatus.Connected {
this.status = SocketIOClientStatus.Closed this.status = SocketIOClientStatus.Closed
this.engine?.close(fast: true) this.engine?.close(fast: true)
handler?() handler?()
}
} }
}
} }
private func createOnAck(event: String, items: [AnyObject]) -> OnAckCallback { private func createOnAck(event: String, items: [AnyObject]) -> OnAckCallback {
@ -379,8 +379,8 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
/** /**
Joins namespace / Joins namespace /
*/ */
public func joinNamespace(namespace:String) { public func joinNamespace(namespace: String) {
self.nsp = namespace self.nsp = namespace
joinNamespace() joinNamespace()
} }
@ -452,10 +452,11 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
tryReconnect() tryReconnect()
} }
@objc private func tryReconnect() { @objc prgivate func tryReconnect() {
guard status != SocketIOClientStatus.Connected else { guard status != SocketIOClientStatus.Connected else {
return return
} }
if reconnectAttempts != -1 && currentReconnectAttempt + 1 > reconnectAttempts || !reconnects { if reconnectAttempts != -1 && currentReconnectAttempt + 1 > reconnectAttempts || !reconnects {
clearReconnectTimer() clearReconnectTimer()
didDisconnect("Reconnect Failed") didDisconnect("Reconnect Failed")