1 2 # Structured Concurrency updates 3 4 The following is a summary of the changes to `StructuredTaskScope` in the `fibers` branch 5 of the loom repo: 6 7 - The `configFunction` parameter to the 3-arg `open` is changed from 8 `Function<Configuration, Configuration>` to `UnaryOperator<Configuration>`. 9 10 - The `join` method is changed to invoke `Joiner::onTimeout` if a timeout is configured 11 and the timeout expires before or while waiting. The `onTimeout` throws `TimeoutException` 12 or may do nothing. This allows for `Joiner` implementation that are capable of returning 13 a result from the subtasks that complete before the timeout expires. 14 15 - `Joiner.allUntil(Predicate)` is changed to allow `join` return the stream of all forked 16 subtasks when the timeout expires. 17 18 - The `join` is now specified so that it may be called again if interrupted. 19 20 - `Joiner` is no longer a `@FunctionalInterface`