Package play.libs.concurrent
Class DefaultFutures
- Object
-
- play.libs.concurrent.DefaultFutures
-
-
Constructor Summary
Constructors Constructor Description DefaultFutures(play.api.libs.concurrent.Futures delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompletionStage<Done>
delay(long amount, TimeUnit unit)
Creates a completion stage which is only completed after the delay.CompletionStage<Done>
delay(Duration duration)
Creates a completion stage which is only completed after the delay.<A> CompletionStage<A>
delayed(Callable<CompletionStage<A>> callable, long amount, TimeUnit unit)
Create a CompletionStage which, after a delay, will be redeemed with the result of a given supplier.<A> CompletionStage<A>
delayed(Callable<CompletionStage<A>> callable, Duration duration)
Create a CompletionStage which, after a delay, will be redeemed with the result of a given supplier.<A> CompletionStage<A>
timeout(CompletionStage<A> stage, long amount, TimeUnit unit)
Creates a CompletionStage that returns either the input stage, or a futures.<A> CompletionStage<A>
timeout(CompletionStage<A> stage, Duration duration)
An alias for futures(stage, delay, unit) that uses a java.time.Duration.
-
-
-
Method Detail
-
timeout
public <A> CompletionStage<A> timeout(CompletionStage<A> stage, long amount, TimeUnit unit)
Creates a CompletionStage that returns either the input stage, or a futures.Note that timeout is not the same as cancellation. Even in case of futures, the given completion stage will still complete, even though that completed value is not returned.
- Specified by:
timeout
in interfaceFutures
- Type Parameters:
A
- the completion's result type.- Parameters:
stage
- the input completion stage that may time out.amount
- The amount (expressed with the corresponding unit).unit
- The time Unit.- Returns:
- either the completed future, or a completion stage that failed with futures.
-
timeout
public <A> CompletionStage<A> timeout(CompletionStage<A> stage, Duration duration)
An alias for futures(stage, delay, unit) that uses a java.time.Duration.- Specified by:
timeout
in interfaceFutures
- Type Parameters:
A
- the completion stage that should be wrapped with a future.- Parameters:
stage
- the input completion stage that may time out.duration
- The duration after which there is a timeout.- Returns:
- the completion stage, or a completion stage that failed with futures.
-
delayed
public <A> CompletionStage<A> delayed(Callable<CompletionStage<A>> callable, long amount, TimeUnit unit)
Create a CompletionStage which, after a delay, will be redeemed with the result of a given supplier. The supplier will be called after the delay.
-
delay
public CompletionStage<Done> delay(Duration duration)
Description copied from interface:Futures
Creates a completion stage which is only completed after the delay.Duration expected = Duration.ofSeconds(2); long start = System.currentTimeMillis(); CompletionStage<Long> stage = futures.delay(expected).thenApply((v) -> { long end = System.currentTimeMillis(); return (end - start); });
-
delay
public CompletionStage<Done> delay(long amount, TimeUnit unit)
Description copied from interface:Futures
Creates a completion stage which is only completed after the delay.
-
delayed
public <A> CompletionStage<A> delayed(Callable<CompletionStage<A>> callable, Duration duration)
Create a CompletionStage which, after a delay, will be redeemed with the result of a given supplier. The supplier will be called after the delay.
-
-