completionTimeout
If the completion of the stream does not happen until the provided timeout, the stream is failed with a TimeoutException
.
Signature¶
Source.completionTimeout
Flow.completionTimeout
Description¶
If the completion of the stream does not happen until the provided timeout, the stream is failed with a TimeoutException
.
Example¶
This example reads the numbers from a source and do some calculation in the flow with a completion timeout of 10 milliseconds. It will fail the stream, leading to failing the materialized Future
if the stream has not completed mapping the numbers from the source when the timeout hits.
sourceval source = Source(1 to 10000).map(number => number * number)
source.completionTimeout(10.milliseconds).run()
sourceSource<Integer, NotUsed> source = Source.range(1, 100000).map(number -> number * number);
CompletionStage<Done> result = source.completionTimeout(Duration.ofMillis(10)).run(system);
return result;
Reactive Streams semantics¶
emits when upstream emits an element
backpressures when downstream backpressures
completes when upstream completes or fails if timeout elapses before upstream completes
cancels when downstream cancels