On 19/12/2025 08:33, David Alayachew wrote:
And maybe it'll help if I clarify what I was saying to @Holo The Sage
Wolf <mailto:[email protected]>.
Holo is saying that they like the default joiner, but adding a timeout
to it takes more code than necessary. They proposed multiple different
overloads, but I suggested the following overload instead.
StructuredTaskScope.open(UnaryOperator<StructuredTaskScope.Configuration>
configOperator)
There are two built-in joiners that implement the policy to cancel the
scope and cause join to throw if any subtask fails. One is suited to
subtasks that produce results of the same type. It can collect the
results and have join yield the list of results. The other is suited to
subtasks that produce results of very different types and where it is
more convenient to retain the Subtask returned from fork. The feedback
to date on which would be the better default is inconclusive. The choice
influences the return from the 1-arg open method is being discussed
here, and is why it is not included in the current API.
-Alan