Search Results for

    Show / Hide Table of Contents

    Class SubFlow<TOut, TMat, TClosed>

    A "stream of streams" sub-flow of data elements, e.g. produced by Akka.Streams.Implementation.Fusing.GroupBy<T, TKey>. SubFlows cannot contribute to the super-flow’s materialized value since they are materialized later, during the runtime of the flow graph processing.

    Inheritance
    object
    SubFlow<TOut, TMat, TClosed>
    SubFlowImpl<TIn, TOut, TMat, TClosed>
    Implements
    IFlow<TOut, TMat>
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    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

    | Edit this page View Source

    ConcatSubstream()

    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<T, TKey> 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<T, TKey> stage will get back-pressure from the second stream.

    Declaration
    public virtual IFlow<TOut, TMat> ConcatSubstream()
    Returns
    Type Description
    IFlow<TOut, TMat>

    TBD

    | Edit this page View Source

    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

    | Edit this page View Source

    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

    | Edit this page View Source

    MergeSubstreamsWithParallelism(int)

    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
    int parallelism

    TBD

    Returns
    Type Description
    IFlow<TOut, TMat>

    TBD

    | Edit this page View Source

    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

    | Edit this page View Source

    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

    | Edit this page View Source

    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

    | Edit this page View Source

    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

    Implements

    IFlow<TOut, TMat>

    Extension Methods

    SubFlowOperations.AggregateAsync<TIn, TOut, TMat, TClosed>(SubFlow<TIn, TMat, TClosed>, TOut, Func<TOut, TIn, Task<TOut>>)
    SubFlowOperations.Aggregate<TOut1, TOut2, TMat, TClosed>(SubFlow<TOut1, TMat, TClosed>, TOut2, Func<TOut2, TOut1, TOut2>)
    SubFlowOperations.AlsoToMaterialized<TOut, TMat, TMat2, TMat3, TClosed>(SubFlow<TOut, TMat, TClosed>, IGraph<SinkShape<TOut>, TMat2>, Func<TMat, TMat2, TMat3>)
    SubFlowOperations.AlsoToMaterialized<TOut, TMat, TMat2, TMat3, TClosed>(SubFlow<TOut, TMat, TClosed>, IGraph<SinkShape<TOut>, TMat2>, Func<TMat, TMat2, TMat3>, bool)
    SubFlowOperations.AlsoTo<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, IGraph<SinkShape<TOut>, TMat>)
    SubFlowOperations.AlsoTo<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, IGraph<SinkShape<TOut>, TMat>, bool)
    SubFlowOperations.BackpressureTimeout<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, TimeSpan)
    SubFlowOperations.BatchWeighted<TOut, TOut2, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, long, Func<TOut, long>, Func<TOut, TOut2>, Func<TOut2, TOut, TOut2>)
    SubFlowOperations.Batch<TOut, TOut2, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, long, Func<TOut, TOut2>, Func<TOut2, TOut, TOut2>)
    SubFlowOperations.Buffer<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, int, OverflowStrategy)
    SubFlowOperations.Collect<TOut1, TOut2, TMat, TClosed>(SubFlow<TOut1, TMat, TClosed>, Func<TOut1, TOut2>)
    SubFlowOperations.CompletionTimeout<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, TimeSpan)
    SubFlowOperations.ConcatMany<TOut1, TOut2, TMat, TClosed>(SubFlow<TOut1, TMat, TClosed>, Func<TOut1, IGraph<SourceShape<TOut2>, TMat>>)
    SubFlowOperations.Concat<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, IGraph<SourceShape<TOut>, TMat>)
    SubFlowOperations.ConflateWithSeed<TOut, TMat, TSeed, TClosed>(SubFlow<TOut, TMat, TClosed>, Func<TOut, TSeed>, Func<TSeed, TOut, TSeed>)
    SubFlowOperations.Conflate<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, Func<TOut, TOut, TOut>)
    SubFlowOperations.Delay<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, TimeSpan, DelayOverflowStrategy?)
    SubFlowOperations.Detach<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>)
    SubFlowOperations.DivertToMaterialized<TOut, TMat, TMat2, TMat3, TClosed>(SubFlow<TOut, TMat, TClosed>, IGraph<SinkShape<TOut>, TMat2>, Func<TOut, bool>, Func<TMat, TMat2, TMat3>)
    SubFlowOperations.DivertTo<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, IGraph<SinkShape<TOut>, TMat>, Func<TOut, bool>)
    SubFlowOperations.Expand<TOut1, TOut2, TMat, TClosed>(SubFlow<TOut1, TMat, TClosed>, Func<TOut1, IEnumerator<TOut2>>)
    SubFlowOperations.GroupedWeightedWithin<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, long, int, TimeSpan, Func<TOut, long>)
    SubFlowOperations.GroupedWithin<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, int, TimeSpan)
    SubFlowOperations.Grouped<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, int)
    SubFlowOperations.IdleTimeout<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, TimeSpan)
    SubFlowOperations.InitialDelay<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, TimeSpan)
    SubFlowOperations.InitialTimeout<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, TimeSpan)
    SubFlowOperations.InterleaveMaterialized<T1, T2, TMat, TMat2, TMat3, TClosed>(SubFlow<T1, TMat, TClosed>, IGraph<SourceShape<T2>, TMat2>, int, Func<TMat, TMat2, TMat3>)
    SubFlowOperations.Interleave<T1, T2, TMat, TClosed>(SubFlow<T1, TMat, TClosed>, IGraph<SourceShape<T2>, TMat>, int)
    SubFlowOperations.Intersperse<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, TOut)
    SubFlowOperations.Intersperse<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, TOut, TOut, TOut)
    SubFlowOperations.KeepAlive<TOut, TInjected, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, TimeSpan, Func<TInjected>)
    SubFlowOperations.LimitWeighted<T, TMat, TClosed>(SubFlow<T, TMat, TClosed>, long, Func<T, long>)
    SubFlowOperations.Limit<T, TMat, TClosed>(SubFlow<T, TMat, TClosed>, long)
    SubFlowOperations.Log<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, string, Func<TOut, object>, ILoggingAdapter)
    SubFlowOperations.MergeMany<TOut1, TOut2, TMat, TClosed>(SubFlow<TOut1, TMat, TClosed>, int, Func<TOut1, IGraph<SourceShape<TOut2>, TMat>>)
    SubFlowOperations.MergeMaterialized<TOut1, TOut2, TMat, TMat2, TMat3, TClosed>(SubFlow<TOut1, TMat, TClosed>, IGraph<SourceShape<TOut2>, TMat2>, Func<TMat, TMat2, TMat3>)
    SubFlowOperations.MergeSorted<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, IGraph<SourceShape<TOut>, TMat>, IComparer<TOut>)
    SubFlowOperations.MergeSorted<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, IGraph<SourceShape<TOut>, TMat>, Func<TOut, TOut, int>)
    SubFlowOperations.Merge<TOut1, TOut2, TMat, TClosed>(SubFlow<TOut1, TMat, TClosed>, IGraph<SourceShape<TOut2>, TMat>, bool)
    SubFlowOperations.OrElse<T, TMat, TClosed>(SubFlow<T, TMat, TClosed>, IGraph<SourceShape<T>, TMat>)
    SubFlowOperations.PrefixAndTail<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, int)
    SubFlowOperations.Prepend<TOut1, TOut2, TMat, TClosed>(SubFlow<TOut1, TMat, TClosed>, IGraph<SourceShape<TOut2>, TMat>)
    SubFlowOperations.RecoverWithRetries<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, Func<Exception, IGraph<SourceShape<TOut>, TMat>>, int)
    SubFlowOperations.RecoverWith<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, Func<Exception, IGraph<SourceShape<TOut>, TMat>>)
    SubFlowOperations.Recover<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, Func<Exception, Option<TOut>>)
    SubFlowOperations.ScanAsync<TOut1, TOut2, TMat, TClosed>(SubFlow<TOut1, TMat, TClosed>, TOut2, Func<TOut2, TOut1, Task<TOut2>>)
    SubFlowOperations.Scan<TOut1, TOut2, TMat, TClosed>(SubFlow<TOut1, TMat, TClosed>, TOut2, Func<TOut2, TOut1, TOut2>)
    SubFlowOperations.SelectAsyncUnordered<TIn, TOut, TMat, TClosed>(SubFlow<TIn, TMat, TClosed>, int, Func<TIn, Task<TOut>>)
    SubFlowOperations.SelectAsync<TIn, TOut, TMat, TClosed>(SubFlow<TIn, TMat, TClosed>, int, Func<TIn, Task<TOut>>)
    SubFlowOperations.SelectError<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, Func<Exception, Exception>)
    SubFlowOperations.SelectMany<TOut1, TOut2, TMat, TClosed>(SubFlow<TOut1, TMat, TClosed>, Func<TOut1, IEnumerable<TOut2>>)
    SubFlowOperations.Select<TIn, TOut, TMat, TClosed>(SubFlow<TIn, TMat, TClosed>, Func<TIn, TOut>)
    SubFlowOperations.SkipWhile<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, Predicate<TOut>)
    SubFlowOperations.SkipWithin<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, TimeSpan)
    SubFlowOperations.Skip<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, long)
    SubFlowOperations.Sliding<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, int, int)
    SubFlowOperations.StatefulSelectMany<TOut1, TOut2, TMat, TClosed>(SubFlow<TOut1, TMat, TClosed>, Func<Func<TOut1, IEnumerable<TOut2>>>)
    SubFlowOperations.Sum<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, Func<TOut, TOut, TOut>)
    SubFlowOperations.TakeWhile<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, Predicate<TOut>, bool)
    SubFlowOperations.TakeWithin<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, TimeSpan)
    SubFlowOperations.Take<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, long)
    SubFlowOperations.Throttle<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, int, TimeSpan, int, ThrottleMode)
    SubFlowOperations.Throttle<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, int, TimeSpan, int, Func<TOut, int>, ThrottleMode)
    SubFlowOperations.Transform<TOut1, TOut2, TMat, TClosed>(SubFlow<TOut1, TMat, TClosed>, Func<IStage<TOut1, TOut2>>)
    SubFlowOperations.WatchTermination<TOut, TMat, TMat2, TClosed>(SubFlow<TOut, TMat, TClosed>, Func<TMat, Task<Done>, TMat2>)
    SubFlowOperations.WhereNot<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, Predicate<TOut>)
    SubFlowOperations.Where<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, Predicate<TOut>)
    SubFlowOperations.WireTap<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, IGraph<SinkShape<TOut>, TMat>)
    SubFlowOperations.WireTap<TOut, TMat, TClosed>(SubFlow<TOut, TMat, TClosed>, Action<TOut>)
    SubFlowOperations.ZipWithIndex<TOut1, TMat, TClosed>(SubFlow<TOut1, TMat, TClosed>)
    SubFlowOperations.ZipWith<T1, T2, T3, TMat, TClosed>(SubFlow<T1, TMat, TClosed>, IGraph<SourceShape<T2>, TMat>, Func<T1, T2, T3>)
    SubFlowOperations.Zip<T1, T2, TMat, TClosed>(SubFlow<T1, TMat, TClosed>, IGraph<SourceShape<T2>, TMat>)
    ObjectExtensions.IsDefaultForType<T>(T)
    ObjectExtensions.AsOption<T>(T)
    Extensions.AsInstanceOf<T>(object)
    In this article
    • githubEdit this page
    • View Source
    Back to top
    Contribute
    • Project Chat
    • Discussion Forum
    • Source Code
    Support
    • Akka.NET Support Plans
    • Akka.NET Observability Tools
    • Akka.NET Training & Consulting
    Maintained By
    • Petabridge - The Akka.NET Company
    • Learn Akka.NET