parent
f2e39c7534
commit
ccf5d46a58
12 changed files with 321 additions and 7 deletions
32
akka-stream/src/main/scala/akka/stream/javadsl/Source.scala
Normal file → Executable file
32
akka-stream/src/main/scala/akka/stream/javadsl/Source.scala
Normal file → Executable file
|
|
@ -778,6 +778,38 @@ final class Source[+Out, +Mat](delegate: scaladsl.Source[Out, Mat]) extends Grap
|
|||
def divertToMat[M2, M3](that: Graph[SinkShape[Out], M2], when: function.Predicate[Out], matF: function.Function2[Mat, M2, M3]): javadsl.Source[Out, M3] =
|
||||
new Source(delegate.divertToMat(that, when.test)(combinerToScala(matF)))
|
||||
|
||||
/**
|
||||
* Attaches the given [[Sink]] to this [[Flow]] as a wire tap, meaning that elements that pass
|
||||
* through will also be sent to the wire-tap Sink, without the latter affecting the mainline flow.
|
||||
* If the wire-tap Sink backpressures, elements that would've been sent to it will be dropped instead.
|
||||
*
|
||||
* '''Emits when''' element is available and demand exists from the downstream; the element will
|
||||
* also be sent to the wire-tap Sink if there is demand.
|
||||
*
|
||||
* '''Backpressures when''' downstream backpressures
|
||||
*
|
||||
* '''Completes when''' upstream completes
|
||||
*
|
||||
* '''Cancels when''' downstream cancels
|
||||
*/
|
||||
def wireTap(that: Graph[SinkShape[Out], _]): javadsl.Source[Out, Mat] =
|
||||
new Source(delegate.wireTap(that))
|
||||
|
||||
/**
|
||||
* Attaches the given [[Sink]] to this [[Flow]] as a wire tap, meaning that elements that pass
|
||||
* through will also be sent to the wire-tap Sink, without the latter affecting the mainline flow.
|
||||
* If the wire-tap Sink backpressures, elements that would've been sent to it will be dropped instead.
|
||||
*
|
||||
* It is recommended to use the internally optimized `Keep.left` and `Keep.right` combiners
|
||||
* where appropriate instead of manually writing functions that pass through one of the values.
|
||||
*
|
||||
* @see [[#wireTap]]
|
||||
*/
|
||||
def wireTapMat[M2, M3](
|
||||
that: Graph[SinkShape[Out], M2],
|
||||
matF: function.Function2[Mat, M2, M3]): javadsl.Source[Out, M3] =
|
||||
new Source(delegate.wireTapMat(that)(combinerToScala(matF)))
|
||||
|
||||
/**
|
||||
* Interleave is a deterministic merge of the given [[Source]] with elements of this [[Source]].
|
||||
* It first emits `segmentSize` number of elements from this flow to downstream, then - same amount for `that` source,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue