Skip to content

Commit dda1fc5

Browse files
Add lifecycle handler to cancel repeated tasks (#60)
* Add lifecycle handler to cancel repeated tasks * =formatting Co-authored-by: Konrad `ktoso` Malawski <konrad_malawski@apple.com>
1 parent 2783134 commit dda1fc5

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

Sources/LifecycleNIOCompat/Bridge.swift

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,17 @@ extension LifecycleHandler {
3232
}
3333
}
3434
}
35+
36+
/// `Lifecycle.Handler` that cancels a `RepeatedTask`.
37+
///
38+
/// - parameters:
39+
/// - task: `RepeatedTask` to be cancelled
40+
/// - on: `EventLoop` to use for cancelling the task
41+
public static func cancelRepeatedTask(_ task: RepeatedTask, on eventLoop: EventLoop) -> LifecycleHandler {
42+
return self.eventLoopFuture {
43+
let promise = eventLoop.makePromise(of: Void.self)
44+
task.cancel(promise: promise)
45+
return promise.futureResult
46+
}
47+
}
3548
}

0 commit comments

Comments
 (0)