Skip to content

Commit b258a93

Browse files
committed
Fixed loosing POST packets on web socket connection failure and engine memory leak on server errors.
1 parent d07441e commit b258a93

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

Source/SocketIO/Engine/SocketEngine.swift

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,9 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
371371
fastUpgrade = false
372372
probing = false
373373
flushProbeWait()
374+
if postWait.count != 0 {
375+
flushWaitingForPostToWebSocket()
376+
}
374377
}
375378

376379
private func flushProbeWait() {
@@ -381,10 +384,6 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
381384
}
382385

383386
probeWait.removeAll(keepingCapacity: false)
384-
385-
if postWait.count != 0 {
386-
flushWaitingForPostToWebSocket()
387-
}
388387
}
389388

390389
/// Causes any packets that were waiting for POSTing to be sent through the WebSocket. This happens because when

Source/SocketIO/Manager/SocketManager.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
169169

170170
engine?.engineQueue.sync {
171171
self.engine?.client = nil
172+
self.engine?.disconnect(reason: "Adding new engine")
172173
}
173174

174175
engine = SocketEngine(client: self, url: socketURL, config: config)

0 commit comments

Comments
 (0)