Skip to content

Commit 49961eb

Browse files
committed
Make timeOut(after:) Take a double for finer control of timeouts
1 parent 54c54a2 commit 49961eb

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

Diff for: SocketIO-MacTests/SocketSideEffectTest.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ class SocketSideEffectTest: XCTestCase {
319319
expect.fulfill()
320320
}
321321

322-
socket.emitWithAck("myEvent", ThrowingData()).timingOut(after: 1, callback: {_ in
322+
socket.emitWithAck("myEvent", ThrowingData()).timingOut(after: 0.8, callback: {_ in
323323
XCTFail("Ack callback should not be called")
324324
})
325325

Diff for: Source/SocketAckEmitter.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -104,15 +104,15 @@ public final class OnAckCallback : NSObject {
104104
/// - parameter after: The number of seconds before this emit times out if an ack hasn't been received.
105105
/// - parameter callback: The callback called when an ack is received, or when a timeout happens.
106106
/// To check for timeout, use `SocketAckStatus`'s `noAck` case.
107-
public func timingOut(after seconds: Int, callback: @escaping AckCallback) {
107+
public func timingOut(after seconds: Double, callback: @escaping AckCallback) {
108108
guard let socket = self.socket, ackNumber != -1 else { return }
109109

110110
socket.ackHandlers.addAck(ackNumber, callback: callback)
111111
socket._emit(items, ack: ackNumber)
112112

113113
guard seconds != 0 else { return }
114114

115-
socket.handleQueue.asyncAfter(deadline: DispatchTime.now() + Double(seconds)) {
115+
socket.handleQueue.asyncAfter(deadline: DispatchTime.now() + seconds) {
116116
socket.ackHandlers.timeoutAck(self.ackNumber, onQueue: socket.handleQueue)
117117
}
118118
}

0 commit comments

Comments
 (0)