Make timeOut(after:) Take a double for finer control of timeouts

This commit is contained in:
Erik 2017-07-04 11:08:04 -04:00
parent 54c54a23b7
commit 49961eb6cf
No known key found for this signature in database
GPG Key ID: 4930B7C5FBC1A69D
2 changed files with 3 additions and 3 deletions

View File

@ -319,7 +319,7 @@ class SocketSideEffectTest: XCTestCase {
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")
})

View File

@ -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 callback: The callback called when an ack is received, or when a timeout happens.
/// 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 }
socket.ackHandlers.addAck(ackNumber, callback: callback)
@ -112,7 +112,7 @@ public final class OnAckCallback : NSObject {
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)
}
}