Class SubFlow<TOut, TMat, TClosed>
A "stream of streams" sub-flow of data elements, e.g. produced by Akka.Streams.Implementation.Fusing.GroupBy`2. SubFlows cannot contribute to the super-flow’s materialized value since they are materialized later, during the runtime of the flow graph processing.
Implements
Inherited Members
Namespace: Akka.Streams.Dsl
Assembly: Akka.Streams.dll
Syntax
public abstract class SubFlow<TOut, TMat, TClosed> : IFlow<TOut, TMat>
Type Parameters
Name | Description |
---|---|
TOut | TBD |
TMat | TBD |
TClosed | TBD |
Methods
| Improve this Doc View SourceConcatSubstream()
Flatten the sub-flows back into the super-flow by concatenating them. This is usually a bad idea when combined with Akka.Streams.Implementation.Fusing.GroupBy`2 since it can easily lead to deadlock—the concatenation does not consume from the second substream until the first has finished and the Akka.Streams.Implementation.Fusing.GroupBy`2 stage will get back-pressure from the second stream.
Declaration
public virtual IFlow<TOut, TMat> ConcatSubstream()
Returns
Type | Description |
---|---|
IFlow<TOut, TMat> | TBD |
MapMaterializedValue<TMat2>(Func<TMat, TMat2>)
TBD
Declaration
public abstract IFlow<TOut, TMat2> MapMaterializedValue<TMat2>(Func<TMat, TMat2> mapFunc)
Parameters
Type | Name | Description |
---|---|---|
Func<TMat, TMat2> | mapFunc | TBD |
Returns
Type | Description |
---|---|
IFlow<TOut, TMat2> | TBD |
Type Parameters
Name | Description |
---|---|
TMat2 | TBD |
MergeSubstreams()
Flatten the sub-flows back into the super-flow by performing a merge without parallelism limit (i.e. having an unbounded number of sub-flows active concurrently).
Declaration
public virtual IFlow<TOut, TMat> MergeSubstreams()
Returns
Type | Description |
---|---|
IFlow<TOut, TMat> | TBD |
MergeSubstreamsWithParallelism(Int32)
Flatten the sub-flows back into the super-flow by performing a merge
with the given parallelism limit. This means that only up to parallelism
substreams will be executed at any given time. Substreams that are not
yet executed are also not materialized, meaning that back-pressure will
be exerted at the operator that creates the substreams when the parallelism
limit is reached.
Declaration
public abstract IFlow<TOut, TMat> MergeSubstreamsWithParallelism(int parallelism)
Parameters
Type | Name | Description |
---|---|---|
Int32 | parallelism | TBD |
Returns
Type | Description |
---|---|
IFlow<TOut, TMat> | TBD |
RunWith<TMat2>(IGraph<SinkShape<TOut>, TMat2>, IMaterializer)
Connect this Source<TOut, TMat> to a Sink<TIn, TMat> and run it. The returned value is the materialized value of the Sink<TIn, TMat>, e.g. the Reactive.Streams.IPublisher<T> of a Publisher<TIn>().
Declaration
public abstract TMat2 RunWith<TMat2>(IGraph<SinkShape<TOut>, TMat2> sink, IMaterializer materializer)
Parameters
Type | Name | Description |
---|---|---|
IGraph<SinkShape<TOut>, TMat2> | sink | TBD |
IMaterializer | materializer | TBD |
Returns
Type | Description |
---|---|
TMat2 | TBD |
Type Parameters
Name | Description |
---|---|
TMat2 | TBD |
To<TMat2>(IGraph<SinkShape<TOut>, TMat2>)
Attach a Sink to each sub-flow, closing the overall Graph that is being constructed.
Declaration
public abstract TClosed To<TMat2>(IGraph<SinkShape<TOut>, TMat2> sink)
Parameters
Type | Name | Description |
---|---|---|
IGraph<SinkShape<TOut>, TMat2> | sink | TBD |
Returns
Type | Description |
---|---|
TClosed | TBD |
Type Parameters
Name | Description |
---|---|
TMat2 | TBD |
Via<T2, TMat2>(IGraph<FlowShape<TOut, T2>, TMat2>)
TBD
Declaration
public abstract IFlow<T2, TMat> Via<T2, TMat2>(IGraph<FlowShape<TOut, T2>, TMat2> flow)
Parameters
Type | Name | Description |
---|---|---|
IGraph<FlowShape<TOut, T2>, TMat2> | flow | TBD |
Returns
Type | Description |
---|---|
IFlow<T2, TMat> | TBD |
Type Parameters
Name | Description |
---|---|
T2 | TBD |
TMat2 | TBD |
ViaMaterialized<T2, TMat2, TMat3>(IGraph<FlowShape<TOut, T2>, TMat2>, Func<TMat, TMat2, TMat3>)
TBD
Declaration
public abstract IFlow<T2, TMat3> ViaMaterialized<T2, TMat2, TMat3>(IGraph<FlowShape<TOut, T2>, TMat2> flow, Func<TMat, TMat2, TMat3> combine)
Parameters
Type | Name | Description |
---|---|---|
IGraph<FlowShape<TOut, T2>, TMat2> | flow | TBD |
Func<TMat, TMat2, TMat3> | combine | TBD |
Returns
Type | Description |
---|---|
IFlow<T2, TMat3> | TBD |
Type Parameters
Name | Description |
---|---|
T2 | TBD |
TMat2 | TBD |
TMat3 | TBD |