Skip to content

Commit 76ef359

Browse files
committed
possible fix for #279
1 parent 8e208b1 commit 76ef359

File tree

3 files changed

+7
-9
lines changed

3 files changed

+7
-9
lines changed

Source/SocketEngine.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -378,9 +378,8 @@ public final class SocketEngine: NSObject, SocketEnginePollable, SocketEngineWeb
378378

379379
public func open() {
380380
if connected {
381-
DefaultSocketLogger.Logger.error("Engine tried opening while connected. This is probably a programming error. "
382-
+ "Abandoning open attempt", type: logType)
383-
return
381+
DefaultSocketLogger.Logger.error("Engine tried opening while connected. Assuming this was a reconnect", type: logType)
382+
close("reconnect")
384383
}
385384

386385
DefaultSocketLogger.Logger.log("Starting engine", type: logType)

Source/SocketIOClient.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -309,9 +309,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketParsable
309309
if status == .Closed || !reconnects {
310310
didDisconnect(reason)
311311
} else if status != .Reconnecting {
312-
status = .Reconnecting
313-
handleEvent("reconnect", data: [reason], isInternalMessage: true)
314-
tryReconnect()
312+
tryReconnectWithReason(reason)
315313
}
316314
}
317315

@@ -456,7 +454,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketParsable
456454
Tries to reconnect to the server.
457455
*/
458456
public func reconnect() {
459-
tryReconnect()
457+
tryReconnectWithReason("manual reconnect")
460458
}
461459

462460
/**
@@ -467,9 +465,10 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketParsable
467465
handlers.removeAll(keepCapacity: false)
468466
}
469467

470-
private func tryReconnect() {
468+
private func tryReconnectWithReason(reason: String) {
471469
if reconnectTimer == nil {
472470
DefaultSocketLogger.Logger.log("Starting reconnect", type: logType)
471+
handleEvent("reconnect", data: [reason], isInternalMessage: true)
473472

474473
status = .Reconnecting
475474

Source/SocketStringReader.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,4 @@ struct SocketStringReader {
6565
mutating func readUntilEnd() -> String {
6666
return read(currentIndex.distanceTo(message.endIndex))
6767
}
68-
}
68+
}

0 commit comments

Comments
 (0)