org.apache.pekko.stream.javadsl

Members list

Type members

Classlikes

object Balance

Fan-out the stream to several streams. Each upstream element is emitted to the first available downstream consumer. It will not shutdown until the subscriptions for at least two downstream subscribers have been established.

Fan-out the stream to several streams. Each upstream element is emitted to the first available downstream consumer. It will not shutdown until the subscriptions for at least two downstream subscribers have been established.

'''Emits when''' any of the outputs stops backpressuring; emits the element to the first available output

'''Backpressures when''' all of the outputs backpressure

'''Completes when''' upstream completes

'''Cancels when''' If eagerCancel is enabled: when any downstream cancels; otherwise: when all downstreams cancel

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Balance.type
object BidiFlow

Attributes

Companion
class
Source
BidiFlow.scala
Supertypes
class Object
trait Matchable
class Any
Self type
BidiFlow.type
final class BidiFlow[I1, O1, I2, O2, Mat](delegate: BidiFlow[I1, O1, I2, O2, Mat]) extends Graph[BidiShape[I1, O1, I2, O2], Mat]

Attributes

Companion
object
Source
BidiFlow.scala
Supertypes
trait Graph[BidiShape[I1, O1, I2, O2], Mat]
class Object
trait Matchable
class Any
object Broadcast

Fan-out the stream to several streams. emitting each incoming upstream element to all downstream consumers. It will not shutdown until the subscriptions for at least two downstream subscribers have been established.

Fan-out the stream to several streams. emitting each incoming upstream element to all downstream consumers. It will not shutdown until the subscriptions for at least two downstream subscribers have been established.

'''Emits when''' all of the outputs stops backpressuring and there is an input element available

'''Backpressures when''' any of the outputs backpressure

'''Completes when''' upstream completes

'''Cancels when''' If eagerCancel is enabled: when any downstream cancels; otherwise: when all downstreams cancel

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Broadcast.type
object BroadcastHub

A BroadcastHub is a special streaming hub that is able to broadcast streamed elements to a dynamic set of consumers. It consists of two parts, a Sink and a Source. The Sink broadcasts elements from a producer to the actually live consumers it has. Once the producer has been materialized, the Sink it feeds into returns a materialized value which is the corresponding Source. This Source can be materialized an arbitrary number of times, where each of the new materializations will receive their elements from the original Sink.

A BroadcastHub is a special streaming hub that is able to broadcast streamed elements to a dynamic set of consumers. It consists of two parts, a Sink and a Source. The Sink broadcasts elements from a producer to the actually live consumers it has. Once the producer has been materialized, the Sink it feeds into returns a materialized value which is the corresponding Source. This Source can be materialized an arbitrary number of times, where each of the new materializations will receive their elements from the original Sink.

Attributes

Source
Hub.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object Compression

Attributes

Source
Compression.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object Concat

Takes two streams and outputs an output stream formed from the two input streams by consuming one stream first emitting all of its elements, then consuming the second stream emitting all of its elements.

Takes two streams and outputs an output stream formed from the two input streams by consuming one stream first emitting all of its elements, then consuming the second stream emitting all of its elements.

'''Emits when''' the current stream has an element available; if the current input completes, it tries the next one

'''Backpressures when''' downstream backpressures

'''Completes when''' all upstreams complete

'''Cancels when''' downstream cancels

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Concat.type

Allows coupling termination (cancellation, completion, erroring) of Sinks and Sources while creating a Flow from them. Similar to Flow.fromSinkAndSource however that API does not connect the completion signals of the wrapped operators.

Allows coupling termination (cancellation, completion, erroring) of Sinks and Sources while creating a Flow from them. Similar to Flow.fromSinkAndSource however that API does not connect the completion signals of the wrapped operators.

Attributes

Source
CoupledTerminationFlow.scala
Supertypes
class Object
trait Matchable
class Any
Self type
trait DelayStrategy[T]

Allows to manage delay and can be stateful to compute delay for any sequence of elements, all elements go through nextDelay() updating state and returning delay for each element

Allows to manage delay and can be stateful to compute delay for any sequence of elements, all elements go through nextDelay() updating state and returning delay for each element

Attributes

Companion
object
Source
DelayStrategy.scala
Supertypes
class Object
trait Matchable
class Any
object DelayStrategy

Attributes

Companion
trait
Source
DelayStrategy.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object FileIO

Java API: Factories to create sinks and sources from files

Java API: Factories to create sinks and sources from files

Attributes

Source
FileIO.scala
Supertypes
class Object
trait Matchable
class Any
Self type
FileIO.type
object Flow

Attributes

Companion
class
Source
Flow.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Flow.type
final class Flow[In, Out, Mat](delegate: Flow[In, Out, Mat]) extends Graph[FlowShape[In, Out], Mat]

A Flow is a set of stream processing steps that has one open input and one open output.

A Flow is a set of stream processing steps that has one open input and one open output.

Attributes

Companion
object
Source
Flow.scala
Supertypes
trait Graph[FlowShape[In, Out], Mat]
class Object
trait Matchable
class Any

Attributes

Companion
class
Source
FlowWithContext.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final class FlowWithContext[In, CtxIn, Out, CtxOut, +Mat](delegate: Flow[Pair[In, CtxIn], Pair[Out, CtxOut], Mat])

A flow that provides operations which automatically propagate the context of an element. Only a subset of common operations from Flow is supported. As an escape hatch you can use FlowWithContext.via to manually provide the context propagation for otherwise unsupported operations.

A flow that provides operations which automatically propagate the context of an element. Only a subset of common operations from Flow is supported. As an escape hatch you can use FlowWithContext.via to manually provide the context propagation for otherwise unsupported operations.

An "empty" flow can be created by calling FlowWithContext[Ctx, T].

Attributes

Companion
object
Source
FlowWithContext.scala
Supertypes
trait Graph[FlowShape[Pair[In, CtxIn], Pair[Out, CtxOut]], Mat]
class Object
trait Matchable
class Any
object Framing

Attributes

Source
Framing.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Framing.type
object GraphDSL

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
GraphDSL.type
object Interleave

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Interleave.type
object JsonFraming

Provides JSON framing operators that can separate valid JSON objects from incoming pekko.util.ByteString objects.

Provides JSON framing operators that can separate valid JSON objects from incoming pekko.util.ByteString objects.

Attributes

Source
JsonFraming.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object Keep

Attributes

Source
Keep.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Keep.type
object Merge

Merge several streams, taking elements as they arrive from input streams (picking randomly when several have elements ready).

Merge several streams, taking elements as they arrive from input streams (picking randomly when several have elements ready).

'''Emits when''' one of the inputs has an element available

'''Backpressures when''' downstream backpressures

'''Completes when''' all upstreams complete (eagerComplete=false) or one upstream completes (eagerComplete=true)

'''Cancels when''' downstream cancels

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Merge.type
object MergeHub

A MergeHub is a special streaming hub that is able to collect streamed elements from a dynamic set of producers. It consists of two parts, a Source and a Sink. The Source streams the element to a consumer from its merged inputs. Once the consumer has been materialized, the Source returns a materialized value which is the corresponding Sink. This Sink can then be materialized arbitrary many times, where each of the new materializations will feed its consumed elements to the original Source.

A MergeHub is a special streaming hub that is able to collect streamed elements from a dynamic set of producers. It consists of two parts, a Source and a Sink. The Source streams the element to a consumer from its merged inputs. Once the consumer has been materialized, the Source returns a materialized value which is the corresponding Sink. This Sink can then be materialized arbitrary many times, where each of the new materializations will feed its consumed elements to the original Source.

Attributes

Source
Hub.scala
Supertypes
class Object
trait Matchable
class Any
Self type
MergeHub.type
object MergeLatest

MergeLatest joins elements from N input streams into stream of lists of size N. i-th element in list is the latest emitted element from i-th input stream. MergeLatest emits list for each element emitted from some input stream, but only after each stream emitted at least one element

MergeLatest joins elements from N input streams into stream of lists of size N. i-th element in list is the latest emitted element from i-th input stream. MergeLatest emits list for each element emitted from some input stream, but only after each stream emitted at least one element

'''Emits when''' element is available from some input and each input emits at least one element from stream start

'''Completes when''' all upstreams complete (eagerClose=false) or one upstream completes (eagerClose=true)

'''Cancels when''' downstream cancels

Attributes

Source
MergeLatest.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Merge several streams, taking elements as they arrive from input streams (picking from preferred when several have elements ready).

Merge several streams, taking elements as they arrive from input streams (picking from preferred when several have elements ready).

'''Emits when''' one of the inputs has an element available, preferring a specified input if multiple have elements available

'''Backpressures when''' downstream backpressures

'''Completes when''' all upstreams complete (eagerComplete=false) or one upstream completes (eagerComplete=true)

'''Cancels when''' downstream cancels

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Merge several streams, taking elements as they arrive from input streams (picking from prioritized once when several have elements ready).

Merge several streams, taking elements as they arrive from input streams (picking from prioritized once when several have elements ready).

A MergePrioritized has one out port, one or more input port with their priorities.

'''Emits when''' one of the inputs has an element available, preferring a input based on its priority if multiple have elements available

'''Backpressures when''' downstream backpressures

'''Completes when''' all upstreams complete (eagerComplete=false) or one upstream completes (eagerComplete=true), default value is false

'''Cancels when''' downstream cancels

A Broadcast has one in port and 2 or more out ports.

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object MergeSequence

Takes multiple streams whose elements in aggregate have a defined linear sequence with difference 1, starting at 0, and outputs a single stream containing these elements, in order. That is, given a set of input streams with combined elements ek:

Takes multiple streams whose elements in aggregate have a defined linear sequence with difference 1, starting at 0, and outputs a single stream containing these elements, in order. That is, given a set of input streams with combined elements ek:

e0, e1, e2, ..., en

This will output a stream ordered by k.

The elements in the input streams must already be sorted according to the sequence. The input streams do not need to be linear, but the aggregate stream must be linear, no element k may be skipped or duplicated, either of these conditions will cause the stream to fail.

The typical use case for this is to merge a partitioned stream back together while maintaining order. This can be achieved by first using zipWithIndex on the input stream, then partitioning using a Partition fanout, and then maintaining the index through the processing of each partition before bringing together with this stage.

'''Emits when''' one of the upstreams has the next expected element in the sequence available.

'''Backpressures when''' downstream backpressures

'''Completes when''' all upstreams complete

'''Cancels when''' downstream cancels

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object MergeSorted

Merge two pre-sorted streams such that the resulting stream is sorted.

Merge two pre-sorted streams such that the resulting stream is sorted.

'''Emits when''' both inputs have an element available

'''Backpressures when''' downstream backpressures

'''Completes when''' all upstreams complete

'''Cancels when''' downstream cancels

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object OrElse

Takes two streams and passes the first through, the secondary stream is only passed through if the primary stream completes without passing any elements through. When the first element is passed through from the primary the secondary is cancelled. Both incoming streams are materialized when the operator is materialized.

Takes two streams and passes the first through, the secondary stream is only passed through if the primary stream completes without passing any elements through. When the first element is passed through from the primary the secondary is cancelled. Both incoming streams are materialized when the operator is materialized.

On errors the operator is failed regardless of source of the error.

'''Emits when''' element is available from primary stream or the primary stream closed without emitting any elements and an element is available from the secondary stream

'''Backpressures when''' downstream backpressures

'''Completes when''' the primary stream completes after emitting at least one element, when the primary stream completes without emitting and the secondary stream already has completed or when the secondary stream completes

'''Cancels when''' downstream cancels

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
OrElse.type
object Partition

Fan-out the stream to several streams. emitting an incoming upstream element to one downstream consumer according to the partitioner function applied to the element

Fan-out the stream to several streams. emitting an incoming upstream element to one downstream consumer according to the partitioner function applied to the element

Adheres to the ActorAttributes.SupervisionStrategy attribute.

'''Emits when''' all of the outputs stops backpressuring and there is an input element available

'''Backpressures when''' one of the outputs backpressure

'''Completes when''' upstream completes

'''Cancels when''' when any (eagerCancel=true) or all (eagerCancel=false) of the downstreams cancel

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Partition.type
object PartitionHub

A PartitionHub is a special streaming hub that is able to route streamed elements to a dynamic set of consumers. It consists of two parts, a Sink and a Source. The Sink e elements from a producer to the actually live consumers it has. The selection of consumer is done with a function. Each element can be routed to only one consumer. Once the producer has been materialized, the Sink it feeds into returns a materialized value which is the corresponding Source. This Source can be materialized an arbitrary number of times, where each of the new materializations will receive their elements from the original Sink.

A PartitionHub is a special streaming hub that is able to route streamed elements to a dynamic set of consumers. It consists of two parts, a Sink and a Source. The Sink e elements from a producer to the actually live consumers it has. The selection of consumer is done with a function. Each element can be routed to only one consumer. Once the producer has been materialized, the Sink it feeds into returns a materialized value which is the corresponding Source. This Source can be materialized an arbitrary number of times, where each of the new materializations will receive their elements from the original Sink.

Attributes

Source
Hub.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object RestartFlow

A RestartFlow wraps a Flow that gets restarted when it completes or fails.

A RestartFlow wraps a Flow that gets restarted when it completes or fails.

They are useful for graphs that need to run for longer than the Flow can necessarily guarantee it will, for example, for Flow streams that depend on a remote server that may crash or become partitioned. The RestartFlow ensures that the graph can continue running while the Flow restarts.

Attributes

Source
RestartFlow.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object RestartSink

A RestartSink wraps a Sink that gets restarted when it completes or fails.

A RestartSink wraps a Sink that gets restarted when it completes or fails.

They are useful for graphs that need to run for longer than the Sink can necessarily guarantee it will, for example, for Sink streams that depend on a remote server that may crash or become partitioned. The RestartSink ensures that the graph can continue running while the Sink restarts.

Attributes

Source
RestartSink.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object RestartSource

A RestartSource wraps a Source that gets restarted when it completes or fails.

A RestartSource wraps a Source that gets restarted when it completes or fails.

They are useful for graphs that need to run for longer than the Source can necessarily guarantee it will, for example, for Source streams that depend on a remote server that may crash or become partitioned. The RestartSource ensures that the graph can continue running while the Source restarts.

Attributes

Source
RestartSource.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object RetryFlow

Attributes

Source
RetryFlow.scala
Supertypes
class Object
trait Matchable
class Any
Self type
RetryFlow.type
object RunnableGraph

Attributes

Companion
class
Source
Flow.scala
Supertypes
class Object
trait Matchable
class Any
Self type
abstract class RunnableGraph[+Mat] extends Graph[ClosedShape, Mat]

Java API

Java API

Flow with attached input and output, can be executed.

Attributes

Companion
object
Source
Flow.scala
Supertypes
trait Graph[ClosedShape, Mat]
class Object
trait Matchable
class Any
object Sink

Java API

Java API

Attributes

Companion
class
Source
Sink.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Sink.type
final class Sink[In, Mat](delegate: Sink[In, Mat]) extends Graph[SinkShape[In], Mat]

Java API

Java API

A Sink is a set of stream processing steps that has one open input. Can be used as a Subscriber

Attributes

Companion
object
Source
Sink.scala
Supertypes
trait Graph[SinkShape[In], Mat]
class Object
trait Matchable
class Any
trait SinkQueue[T]

This trait allows to have a queue as a sink for a stream. A SinkQueue pulls data from stream with a backpressure mechanism.

This trait allows to have a queue as a sink for a stream. A SinkQueue pulls data from stream with a backpressure mechanism.

Attributes

Source
Queue.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait SinkQueueWithCancel[T] extends SinkQueue[T]

This trait adds cancel support to SinkQueue.

This trait adds cancel support to SinkQueue.

Attributes

Companion
object
Source
Queue.scala
Supertypes
trait SinkQueue[T]
class Object
trait Matchable
class Any

Attributes

Companion
trait
Source
Queue.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object Source

Java API

Java API

Attributes

Companion
class
Source
Source.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Source.type
final class Source[Out, Mat](delegate: Source[Out, Mat]) extends Graph[SourceShape[Out], Mat]

Java API

Java API

A Source is a set of stream processing steps that has one open output and an attached input. Can be used as a Publisher

Attributes

Companion
object
Source
Source.scala
Supertypes
trait Graph[SourceShape[Out], Mat]
class Object
trait Matchable
class Any
trait SourceQueue[T]

This trait allows to have a queue as a data source for some stream.

This trait allows to have a queue as a data source for some stream.

Attributes

Source
Queue.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait SourceQueueWithComplete[T] extends SourceQueue[T]

This trait adds completion support to SourceQueue.

This trait adds completion support to SourceQueue.

Attributes

Companion
object
Source
Queue.scala
Supertypes
trait SourceQueue[T]
class Object
trait Matchable
class Any

Attributes

Companion
trait
Source
Queue.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion
class
Source
SourceWithContext.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final class SourceWithContext[+Out, +Ctx, +Mat](delegate: SourceWithContext[Out, Ctx, Mat])

A source that provides operations which automatically propagate the context of an element. Only a subset of common operations from Source is supported. As an escape hatch you can use SourceWithContext#via to manually provide the context propagation for otherwise unsupported operations.

A source that provides operations which automatically propagate the context of an element. Only a subset of common operations from Source is supported. As an escape hatch you can use SourceWithContext#via to manually provide the context propagation for otherwise unsupported operations.

Can be created by calling Source.asSourceWithContext

Attributes

Companion
object
Source
SourceWithContext.scala
Supertypes
trait Graph[SourceShape[(Out, Ctx)], Mat]
class Object
trait Matchable
class Any

Converters for interacting with the blocking java.io streams APIs and Java 8 Streams

Converters for interacting with the blocking java.io streams APIs and Java 8 Streams

Attributes

Source
StreamConverters.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object StreamRefs

Factories for creating stream refs.

Factories for creating stream refs.

Attributes

Source
StreamRefs.scala
Supertypes
class Object
trait Matchable
class Any
Self type
StreamRefs.type
object SubFlow

Attributes

Companion
class
Source
SubFlow.scala
Supertypes
class Object
trait Matchable
class Any
Self type
SubFlow.type
class SubFlow[In, Out, Mat](delegate: SubFlow[Out, Mat, Flow[In, Out, Mat]#Repr, Sink[In, Mat]])

A “stream of streams” sub-flow of data elements, e.g. produced by groupBy. SubFlows cannot contribute to the super-flow’s materialized value since they are materialized later, during the runtime of the flow graph processing.

A “stream of streams” sub-flow of data elements, e.g. produced by groupBy. SubFlows cannot contribute to the super-flow’s materialized value since they are materialized later, during the runtime of the flow graph processing.

Attributes

Companion
object
Source
SubFlow.scala
Supertypes
class Object
trait Matchable
class Any
object SubSource
  • Upcast a stream of elements to a stream of supertypes of that element. Useful in combination with fan-in operators where you do not want to pay the cost of casting each element in a map.

Attributes

Companion
class
Source
SubSource.scala
Supertypes
class Object
trait Matchable
class Any
Self type
SubSource.type
class SubSource[Out, Mat](delegate: SubFlow[Out, Mat, Source[Out, Mat]#Repr, RunnableGraph[Mat]])

A “stream of streams” sub-flow of data elements, e.g. produced by groupBy. SubFlows cannot contribute to the super-flow’s materialized value since they are materialized later, during the runtime of the flow graph processing.

A “stream of streams” sub-flow of data elements, e.g. produced by groupBy. SubFlows cannot contribute to the super-flow’s materialized value since they are materialized later, during the runtime of the flow graph processing.

Attributes

Companion
object
Source
SubSource.scala
Supertypes
class Object
trait Matchable
class Any
object TLS

Stream cipher support based upon JSSE.

Stream cipher support based upon JSSE.

The underlying SSLEngine has four ports: plaintext input/output and ciphertext input/output. These are modeled as a pekko.stream.BidiShape element for use in stream topologies, where the plaintext ports are on the left hand side of the shape and the ciphertext ports on the right hand side.

Configuring JSSE is a rather complex topic, please refer to the JDK platform documentation or the excellent user guide that is part of the Play Framework documentation. The philosophy of this integration into Pekko Streams is to expose all knobs and dials to client code and therefore not limit the configuration possibilities. In particular the client code will have to provide the SSLEngine, which is typically created from a SSLContext. Handshake parameters and other parameters are defined when creating the SSLEngine.

'''IMPORTANT NOTE'''

The TLS specification until version 1.2 did not permit half-closing of the user data session that it transports—to be precise a half-close will always promptly lead to a full close. This means that canceling the plaintext output or completing the plaintext input of the SslTls operator will lead to full termination of the secure connection without regard to whether bytes are remaining to be sent or received, respectively. Especially for a client the common idiom of attaching a finite Source to the plaintext input and transforming the plaintext response bytes coming out will not work out of the box due to early termination of the connection. For this reason there is a parameter that determines whether the SslTls operator shall ignore completion and/or cancellation events, and the default is to ignore completion (in view of the client–server scenario). In order to terminate the connection the client will then need to cancel the plaintext output as soon as all expected bytes have been received. When ignoring both types of events the operator will shut down once both events have been received. See also TLSClosing. For now, half-closing is also not supported with TLS 1.3 where the spec allows it.

Attributes

Source
TLS.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TLS.type
object TLSPlacebo

This object holds simple wrapping pekko.stream.scaladsl.BidiFlow implementations that can be used instead of TLS when no encryption is desired. The flows will just adapt the message protocol by wrapping into SessionBytes and unwrapping SendBytes.

This object holds simple wrapping pekko.stream.scaladsl.BidiFlow implementations that can be used instead of TLS when no encryption is desired. The flows will just adapt the message protocol by wrapping into SessionBytes and unwrapping SendBytes.

Attributes

Source
TLS.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TLSPlacebo.type

Attributes

Companion
class
Source
Tcp.scala
Supertypes
trait ExtensionId[Tcp]
class Object
trait Matchable
class Any
Self type
Tcp.type
class Tcp(system: ExtendedActorSystem) extends Extension

Attributes

Companion
object
Source
Tcp.scala
Supertypes
trait Extension
class Object
trait Matchable
class Any
object Unzip

Takes a stream of pair elements and splits each pair to two output streams.

Takes a stream of pair elements and splits each pair to two output streams.

An Unzip has one in port and one left and one right output port.

'''Emits when''' all of the outputs stops backpressuring and there is an input element available

'''Backpressures when''' any of the outputs backpressures

'''Completes when''' upstream completes

'''Cancels when''' any downstream cancels

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Unzip.type
object UnzipWith

Split one stream into several streams using a splitting function.

Split one stream into several streams using a splitting function.

'''Emits when''' all of the outputs stops backpressuring and there is an input element available

'''Backpressures when''' any of the outputs backpressures

'''Completes when''' upstream completes

'''Cancels when''' any downstream cancels

Attributes

Source
UnzipWith.scala
Supertypes
class Object
trait Matchable
class Any
Self type
UnzipWith.type
object WireTap

Fan-out the stream to two output streams - a 'main' and a 'tap' one. Each incoming element is emitted to the 'main' output; elements are also emitted to the 'tap' output if there is demand; otherwise they are dropped.

Fan-out the stream to two output streams - a 'main' and a 'tap' one. Each incoming element is emitted to the 'main' output; elements are also emitted to the 'tap' output if there is demand; otherwise they are dropped.

'''Emits when''' element is available and demand exists from the 'main' output; the element will also be sent to the 'tap' output if there is demand.

'''Backpressures when''' the 'main' output backpressures

'''Completes when''' upstream completes

'''Cancels when''' the 'main' output cancels

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
WireTap.type
object Zip

Combine the elements of 2 streams into a stream of tuples.

Combine the elements of 2 streams into a stream of tuples.

A Zip has a left and a right input port and one out port

'''Emits when''' all of the inputs has an element available

'''Backpressures when''' downstream backpressures

'''Completes when''' any upstream completes

'''Cancels when''' downstream cancels

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Zip.type
object ZipLatest

Combine the elements of 2 streams into a stream of tuples, picking always the latest element of each.

Combine the elements of 2 streams into a stream of tuples, picking always the latest element of each.

A Zip has a left and a right input port and one out port

'''Emits when''' all of the inputs have at least an element available, and then each time an element becomes available on either of the inputs

'''Backpressures when''' downstream backpressures

'''Completes when''' any upstream completes

'''Cancels when''' downstream cancels

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ZipLatest.type
object ZipLatestWith

Combine the elements of multiple streams into a stream of combined elements using a combiner function, picking always the latest of the elements of each source.

Combine the elements of multiple streams into a stream of combined elements using a combiner function, picking always the latest of the elements of each source.

No element is emitted until at least one element from each Source becomes available. Whenever a new element appears, the zipping function is invoked with a tuple containing the new element and the other last seen elements.

'''Emits when''' all of the inputs have at least an element available, and then each time an element becomes available on either of the inputs

'''Backpressures when''' downstream backpressures

'''Completes when''' any of the upstreams completes

'''Cancels when''' downstream cancels

Attributes

Source
ZipLatestWith.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object ZipN

Combine the elements of multiple streams into a stream of lists.

Combine the elements of multiple streams into a stream of lists.

A ZipN has a n input ports and one out port

'''Emits when''' all of the inputs has an element available

'''Backpressures when''' downstream backpressures

'''Completes when''' any upstream completes

'''Cancels when''' downstream cancels

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ZipN.type
object ZipWith

Combine the elements of multiple streams into a stream of combined elements using a combiner function.

Combine the elements of multiple streams into a stream of combined elements using a combiner function.

'''Emits when''' all of the inputs has an element available

'''Backpressures when''' downstream backpressures

'''Completes when''' any upstream completes

'''Cancels when''' downstream cancels

Attributes

Source
ZipWith.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ZipWith.type
object ZipWithN

Combine the elements of multiple streams into a stream of lists using a combiner function.

Combine the elements of multiple streams into a stream of lists using a combiner function.

A ZipWithN has a n input ports and one out port

'''Emits when''' all of the inputs has an element available

'''Backpressures when''' downstream backpressures

'''Completes when''' any upstream completes

'''Cancels when''' downstream cancels

Attributes

Source
Graph.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ZipWithN.type

Value members

Concrete methods

def combinerToScala[M1, M2, M](f: Function2[M1, M2, M]): (M1, M2) => M

Attributes

Source
package.scala