Make timeOut(after:) Take a double for finer control of timeouts
This commit is contained in:
parent
54c54a23b7
commit
49961eb6cf
@ -319,7 +319,7 @@ class SocketSideEffectTest: XCTestCase {
|
|||||||
expect.fulfill()
|
expect.fulfill()
|
||||||
}
|
}
|
||||||
|
|
||||||
socket.emitWithAck("myEvent", ThrowingData()).timingOut(after: 1, callback: {_ in
|
socket.emitWithAck("myEvent", ThrowingData()).timingOut(after: 0.8, callback: {_ in
|
||||||
XCTFail("Ack callback should not be called")
|
XCTFail("Ack callback should not be called")
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@ -104,7 +104,7 @@ public final class OnAckCallback : NSObject {
|
|||||||
/// - parameter after: The number of seconds before this emit times out if an ack hasn't been received.
|
/// - parameter after: The number of seconds before this emit times out if an ack hasn't been received.
|
||||||
/// - parameter callback: The callback called when an ack is received, or when a timeout happens.
|
/// - parameter callback: The callback called when an ack is received, or when a timeout happens.
|
||||||
/// To check for timeout, use `SocketAckStatus`'s `noAck` case.
|
/// To check for timeout, use `SocketAckStatus`'s `noAck` case.
|
||||||
public func timingOut(after seconds: Int, callback: @escaping AckCallback) {
|
public func timingOut(after seconds: Double, callback: @escaping AckCallback) {
|
||||||
guard let socket = self.socket, ackNumber != -1 else { return }
|
guard let socket = self.socket, ackNumber != -1 else { return }
|
||||||
|
|
||||||
socket.ackHandlers.addAck(ackNumber, callback: callback)
|
socket.ackHandlers.addAck(ackNumber, callback: callback)
|
||||||
@ -112,7 +112,7 @@ public final class OnAckCallback : NSObject {
|
|||||||
|
|
||||||
guard seconds != 0 else { return }
|
guard seconds != 0 else { return }
|
||||||
|
|
||||||
socket.handleQueue.asyncAfter(deadline: DispatchTime.now() + Double(seconds)) {
|
socket.handleQueue.asyncAfter(deadline: DispatchTime.now() + seconds) {
|
||||||
socket.ackHandlers.timeoutAck(self.ackNumber, onQueue: socket.handleQueue)
|
socket.ackHandlers.timeoutAck(self.ackNumber, onQueue: socket.handleQueue)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user