Akka.Streams.Tests.Performance.MaterializationBenchmark.GraphWithJunctionsBuilder C# (CSharp) Метод

GraphWithJunctionsBuilder() публичный статический Метод

public static GraphWithJunctionsBuilder ( int numberOfJunctions ) : IRunnableGraph
numberOfJunctions int
Результат IRunnableGraph
        public static IRunnableGraph<NotUsed> GraphWithJunctionsBuilder(int numberOfJunctions)
        {
            return RunnableGraph.FromGraph(GraphDsl.Create(b =>
            {
                var broadcast = b.Add(new Broadcast<NotUsed>(numberOfJunctions));
                var outlet = broadcast.Out(0);
                for (var i = 1; i < numberOfJunctions; i++)
                {
                    var merge = b.Add(new Merge<NotUsed>(2));
                    b.From(outlet).To(merge);
                    b.From(broadcast.Out(i)).To(merge);
                    outlet = merge.Out;
                }
                b.From(Source.Single(NotUsed.Instance)).To(broadcast);
                b.From(outlet).To(Sink.Ignore<NotUsed>().MapMaterializedValue(_ => NotUsed.Instance));
                return ClosedShape.Instance;
            }));
        }

Usage Example

Пример #1
0
 public void Graph_with_1000_junction() => MaterializationBenchmark.GraphWithJunctionsBuilder(1000);