The receiving handler for the members
A list of transformers which will be run in parllel, passing outputs to the downstream
handler
A guard around the downstream handler to prevent the toMerge
transformers from directly calling
handleEnd
on the downstream handler.
A guard around the downstream handler to prevent the toMerge
transformers from directly calling
handleEnd
on the downstream handler. Transformers like Take(N)
- that will feed an End event
to the downstream when they've encountered an "early end" scenario - would potentially cause an
early end even if other transformers in the merge were still ready to continue.
Causes this handler to finalize and produce a result.
Causes this handler to finalize and produce a result.
This method should not be called if isFinished
is already true.
The final output of this parser
Causes this handler to process an error.
Causes this handler to process an error.
This method should not be called if isFinished == true
an error to be processed
An option containing the final output if
this handler became finished as a result
of processing the error
, or None
if
the handler is ready for more input.
Causes this handler to process an input element.
Causes this handler to process an input element.
This method should not be called if isFinished == true
an element to be processed
An option containing the final output if
this handler became finished as a result
of processing the input
, or None
if
the handler is ready for more input.
Tells if this handler is finished.
Tells if this handler is finished.
If a handler is finished, its handleX
methods
should no longer be called. Doing so after the
handler finishes will cause undefined behavior.
Typically a handler should be discarded once it
is finished.
whether this handler is finished
Every one of the transformers in toMerge
needs to output to the same downstream
handler.
Every one of the transformers in toMerge
needs to output to the same downstream
handler.
(parallelTransformerHandler: StringAdd).self
(parallelTransformerHandler: StringFormat).self
(parallelTransformerHandler: ArrowAssoc[ParallelTransformerHandler[In, A, Out]]).x
(Since version 2.10.0) Use leftOfArrow
instead
(parallelTransformerHandler: Ensuring[ParallelTransformerHandler[In, A, Out]]).x
(Since version 2.10.0) Use resultOfEnsuring
instead
A handler for a collection of transformers that will be run in parallel. Each event passed through this handler will be forwarded to each of the respective handlers for the transformers in
toMerge
, referred to as "members". If at any point a member finishes, it will no longer receive inputs. If at any point *all* of the members finish, an early end will be passed to the downstream handler. If at any point the downstream handler emits a result, that result will be returned and the members will be deactivated.The input type
The common output type of the transformers, and the input type for the downstream handler.
The output type