Skip to content

Commit 3bdef34

Browse files
committed
Additional Promises.poll overload for Runnable
1 parent 0b3a603 commit 3bdef34

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/main/java/net/tascalate/concurrent/Promises.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -526,7 +526,14 @@ public static <T> Promise<T> failAfter(Duration duration) {
526526
public static <T> Promise<T> failAfter(long delay, TimeUnit timeUnit) {
527527
return failAfter( toDuration(delay, timeUnit) );
528528
}
529-
529+
530+
public static Promise<Void> poll(Runnable codeBlock, Executor executor, RetryPolicy retryPolicy) {
531+
Promise<Object> wrappedResult = pollOptional(
532+
() -> { codeBlock.run(); return Optional.of(new Object()); },
533+
executor, retryPolicy
534+
);
535+
return dependent(wrappedResult).thenApply(v -> null, true);
536+
}
530537

531538
public static <T> Promise<T> poll(Callable<? extends T> codeBlock, Executor executor, RetryPolicy retryPolicy) {
532539
Promise<ObjectRef<T>> wrappedResult = pollOptional(

0 commit comments

Comments
 (0)