Package play.libs.concurrent
Class DefaultFutures
java.lang.Object
play.libs.concurrent.DefaultFutures
- All Implemented Interfaces:
Futures
The default implementation of the Futures trait. This provides an implementation that uses the
scheduler of the application's ActorSystem.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates a completion stage which is only completed after the delay.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.
-
Constructor Details
-
DefaultFutures
@Inject public DefaultFutures(play.api.libs.concurrent.Futures delegate)
-
-
Method Details
-
timeout
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:
timeoutin 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
An alias for futures(stage, delay, unit) that uses a java.time.Duration.- Specified by:
timeoutin 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
Description copied from interface:FuturesCreates 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
Description copied from interface:FuturesCreates a completion stage which is only completed after the delay. -
delayed
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.
-