#19267 add .viaAsync combinator
This commit is contained in:
parent
8a5a420108
commit
a733096564
6 changed files with 188 additions and 3 deletions
|
|
@ -352,6 +352,47 @@ final class Source[+Out, +Mat](delegate: scaladsl.Source[Out, Mat]) extends Grap
|
|||
def viaMat[T, M, M2](flow: Graph[FlowShape[Out, T], M], combine: function.Function2[Mat, M, M2]): javadsl.Source[T, M2] =
|
||||
new Source(delegate.viaMat(flow)(combinerToScala(combine)))
|
||||
|
||||
/**
|
||||
* Transform this [[Source]] by appending the given processing stages, ensuring
|
||||
* that an `asyncBoundary` attribute is set around those steps.
|
||||
* {{{
|
||||
* +----------------------------+
|
||||
* | Resulting Source |
|
||||
* | |
|
||||
* | +------+ +------+ |
|
||||
* | | | | | |
|
||||
* | | this | ~Out~> | flow | ~~> T
|
||||
* | | | | | |
|
||||
* | +------+ +------+ |
|
||||
* +----------------------------+
|
||||
* }}}
|
||||
* The materialized value of the combined [[Flow]] will be the materialized
|
||||
* value of the current flow (ignoring the other Flow’s value), use
|
||||
* `viaMat` if a different strategy is needed.
|
||||
*/
|
||||
def viaAsync[T, M](flow: Graph[FlowShape[Out, T], M]): javadsl.Source[T, Mat] =
|
||||
new Source(delegate.viaAsync(flow))
|
||||
|
||||
/**
|
||||
* Transform this [[Source]] by appending the given processing stages, ensuring
|
||||
* that an `asyncBoundary` attribute is set around those steps.
|
||||
* {{{
|
||||
* +----------------------------+
|
||||
* | Resulting Source |
|
||||
* | |
|
||||
* | +------+ +------+ |
|
||||
* | | | | | |
|
||||
* | | this | ~Out~> | flow | ~~> T
|
||||
* | | | | | |
|
||||
* | +------+ +------+ |
|
||||
* +----------------------------+
|
||||
* }}}
|
||||
* The `combine` function is used to compose the materialized values of this flow and that
|
||||
* flow into the materialized value of the resulting Flow.
|
||||
*/
|
||||
def viaAsyncMat[T, M, M2](flow: Graph[FlowShape[Out, T], M], combine: function.Function2[Mat, M, M2]): javadsl.Source[T, M2] =
|
||||
new Source(delegate.viaAsyncMat(flow)(combinerToScala(combine)))
|
||||
|
||||
/**
|
||||
* Connect this [[Source]] to a [[Sink]], concatenating the processing steps of both.
|
||||
* {{{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue