Class GraphDsl
A graph DSL, which defines an API for building complex graphs. Graph definitions are enclosed within a scope of functions defined by user, using a dedicated GraphDsl.Builder<T> helper to connect specific graph stages with each other.
Inherited Members
Namespace: Akka.Streams.Dsl
Assembly: Akka.Streams.dll
Syntax
public static class GraphDsl
Methods
| Improve this Doc View SourceCreate<TShape>(Func<GraphDsl.Builder<NotUsed>, TShape>)
Creates a new IGraph<TShape, TMaterialized> by passing a GraphDsl.Builder<T> to the given create function.
Declaration
public static IGraph<TShape, NotUsed> Create<TShape>(Func<GraphDsl.Builder<NotUsed>, TShape> buildBlock)
where TShape : Shape
Parameters
Type | Name | Description |
---|---|---|
Func<GraphDsl.Builder<NotUsed>, TShape> | buildBlock | A builder function used to construct the graph. |
Returns
Type | Description |
---|---|
IGraph<TShape, NotUsed> | A graph with no materialized value. |
Type Parameters
Name | Description |
---|---|
TShape | Type describing shape of the returned graph. |
Create<TShapeOut, TMatOut, TMat0, TMat1, TMat2, TMat3, TShape0, TShape1, TShape2, TShape3>(IGraph<TShape0, TMat0>, IGraph<TShape1, TMat1>, IGraph<TShape2, TMat2>, IGraph<TShape3, TMat3>, Func<TMat0, TMat1, TMat2, TMat3, TMatOut>, Func<GraphDsl.Builder<TMatOut>, TShape0, TShape1, TShape2, TShape3, TShapeOut>)
Creates a new IGraph<TShape, TMaterialized> by importing the given graphs and passing their Shapes along with the GraphDsl.Builder<T> to the given create function.
Declaration
public static IGraph<TShapeOut, TMatOut> Create<TShapeOut, TMatOut, TMat0, TMat1, TMat2, TMat3, TShape0, TShape1, TShape2, TShape3>(IGraph<TShape0, TMat0> g0, IGraph<TShape1, TMat1> g1, IGraph<TShape2, TMat2> g2, IGraph<TShape3, TMat3> g3, Func<TMat0, TMat1, TMat2, TMat3, TMatOut> combineMaterializers, Func<GraphDsl.Builder<TMatOut>, TShape0, TShape1, TShape2, TShape3, TShapeOut> buildBlock)
where TShapeOut : Shape where TShape0 : Shape where TShape1 : Shape where TShape2 : Shape where TShape3 : Shape
Parameters
Type | Name | Description |
---|---|---|
IGraph<TShape0, TMat0> | g0 | A first input graph. |
IGraph<TShape1, TMat1> | g1 | A second input graph. |
IGraph<TShape2, TMat2> | g2 | A third input graph. |
IGraph<TShape3, TMat3> | g3 | A fourth input graph. |
Func<TMat0, TMat1, TMat2, TMat3, TMatOut> | combineMaterializers | Function used to determine output materialized value based on the materialized values of the passed graphs. |
Func<GraphDsl.Builder<TMatOut>, TShape0, TShape1, TShape2, TShape3, TShapeOut> | buildBlock | A graph constructor function. |
Returns
Type | Description |
---|---|
IGraph<TShapeOut, TMatOut> | A graph with materialized value. |
Type Parameters
Name | Description |
---|---|
TShapeOut | A type describing shape of the returned graph. |
TMatOut | A type of value, that graph will materialize to after completion. |
TMat0 | A type of materialized value of the first input graph parameter. |
TMat1 | A type of materialized value of the second input graph parameter. |
TMat2 | A type of materialized value of the third input graph parameter. |
TMat3 | A type of materialized value of the fourth input graph parameter. |
TShape0 | A type describing the shape of a first input graph parameter. |
TShape1 | A type describing the shape of a second input graph parameter. |
TShape2 | A type describing the shape of a third input graph parameter. |
TShape3 | A type describing the shape of a fourth input graph parameter. |
Create<TShapeOut, TMatOut, TMat0, TMat1, TMat2, TMat3, TMat4, TShape0, TShape1, TShape2, TShape3, TShape4>(IGraph<TShape0, TMat0>, IGraph<TShape1, TMat1>, IGraph<TShape2, TMat2>, IGraph<TShape3, TMat3>, IGraph<TShape4, TMat4>, Func<TMat0, TMat1, TMat2, TMat3, TMat4, TMatOut>, Func<GraphDsl.Builder<TMatOut>, TShape0, TShape1, TShape2, TShape3, TShape4, TShapeOut>)
Creates a new IGraph<TShape, TMaterialized> by importing the given graphs and passing their Shapes along with the GraphDsl.Builder<T> to the given create function.
Declaration
public static IGraph<TShapeOut, TMatOut> Create<TShapeOut, TMatOut, TMat0, TMat1, TMat2, TMat3, TMat4, TShape0, TShape1, TShape2, TShape3, TShape4>(IGraph<TShape0, TMat0> g0, IGraph<TShape1, TMat1> g1, IGraph<TShape2, TMat2> g2, IGraph<TShape3, TMat3> g3, IGraph<TShape4, TMat4> g4, Func<TMat0, TMat1, TMat2, TMat3, TMat4, TMatOut> combineMaterializers, Func<GraphDsl.Builder<TMatOut>, TShape0, TShape1, TShape2, TShape3, TShape4, TShapeOut> buildBlock)
where TShapeOut : Shape where TShape0 : Shape where TShape1 : Shape where TShape2 : Shape where TShape3 : Shape where TShape4 : Shape
Parameters
Type | Name | Description |
---|---|---|
IGraph<TShape0, TMat0> | g0 | A first input graph. |
IGraph<TShape1, TMat1> | g1 | A second input graph. |
IGraph<TShape2, TMat2> | g2 | A third input graph. |
IGraph<TShape3, TMat3> | g3 | A fourth input graph. |
IGraph<TShape4, TMat4> | g4 | A fifth input graph. |
Func<TMat0, TMat1, TMat2, TMat3, TMat4, TMatOut> | combineMaterializers | Function used to determine output materialized value based on the materialized values of the passed graphs. |
Func<GraphDsl.Builder<TMatOut>, TShape0, TShape1, TShape2, TShape3, TShape4, TShapeOut> | buildBlock | A graph constructor function. |
Returns
Type | Description |
---|---|
IGraph<TShapeOut, TMatOut> | A graph with materialized value. |
Type Parameters
Name | Description |
---|---|
TShapeOut | A type describing shape of the returned graph. |
TMatOut | A type of value, that graph will materialize to after completion. |
TMat0 | A type of materialized value of the first input graph parameter. |
TMat1 | A type of materialized value of the second input graph parameter. |
TMat2 | A type of materialized value of the third input graph parameter. |
TMat3 | A type of materialized value of the fourth input graph parameter. |
TMat4 | A type of materialized value of the fifth input graph parameter. |
TShape0 | A type describing the shape of a first input graph parameter. |
TShape1 | A type describing the shape of a second input graph parameter. |
TShape2 | A type describing the shape of a third input graph parameter. |
TShape3 | A type describing the shape of a fourth input graph parameter. |
TShape4 | A type describing the shape of a fifth input graph parameter. |
Create<TShapeOut, TMat, TShape1>(IGraph<TShape1, TMat>, Func<GraphDsl.Builder<TMat>, TShape1, TShapeOut>)
Creates a new IGraph<TShape, TMaterialized> by importing the given graph g1
and passing its Shape along with the GraphDsl.Builder<T> to the given create function.
Declaration
public static IGraph<TShapeOut, TMat> Create<TShapeOut, TMat, TShape1>(IGraph<TShape1, TMat> g1, Func<GraphDsl.Builder<TMat>, TShape1, TShapeOut> buildBlock)
where TShapeOut : Shape where TShape1 : Shape
Parameters
Type | Name | Description |
---|---|---|
IGraph<TShape1, TMat> | g1 | Graph used as input parameter. |
Func<GraphDsl.Builder<TMat>, TShape1, TShapeOut> | buildBlock | Graph construction function. |
Returns
Type | Description |
---|---|
IGraph<TShapeOut, TMat> | A graph with materialized value. |
Type Parameters
Name | Description |
---|---|
TShapeOut | A type describing shape of the returned graph. |
TMat | A type of value, that graph will materialize to after completion. |
TShape1 | A type of shape of the input graph. |
Create<TShapeOut, TMatOut, TMat0, TMat1, TShape0, TShape1>(IGraph<TShape0, TMat0>, IGraph<TShape1, TMat1>, Func<TMat0, TMat1, TMatOut>, Func<GraphDsl.Builder<TMatOut>, TShape0, TShape1, TShapeOut>)
Creates a new IGraph<TShape, TMaterialized> by importing the given graphs and passing their Shapes along with the GraphDsl.Builder<T> to the given create function.
Declaration
public static IGraph<TShapeOut, TMatOut> Create<TShapeOut, TMatOut, TMat0, TMat1, TShape0, TShape1>(IGraph<TShape0, TMat0> g0, IGraph<TShape1, TMat1> g1, Func<TMat0, TMat1, TMatOut> combineMaterializers, Func<GraphDsl.Builder<TMatOut>, TShape0, TShape1, TShapeOut> buildBlock)
where TShapeOut : Shape where TShape0 : Shape where TShape1 : Shape
Parameters
Type | Name | Description |
---|---|---|
IGraph<TShape0, TMat0> | g0 | A first input graph. |
IGraph<TShape1, TMat1> | g1 | A second input graph. |
Func<TMat0, TMat1, TMatOut> | combineMaterializers | Function used to determine output materialized value based on the materialized values of the passed graphs. |
Func<GraphDsl.Builder<TMatOut>, TShape0, TShape1, TShapeOut> | buildBlock | A graph constructor function. |
Returns
Type | Description |
---|---|
IGraph<TShapeOut, TMatOut> | A graph with materialized value. |
Type Parameters
Name | Description |
---|---|
TShapeOut | A type describing shape of the returned graph. |
TMatOut | A type of value, that graph will materialize to after completion. |
TMat0 | A type of materialized value of the first input graph parameter. |
TMat1 | A type of materialized value of the second input graph parameter. |
TShape0 | A type describing the shape of a first input graph parameter. |
TShape1 | A type describing the shape of a second input graph parameter. |
Create<TShapeOut, TMatOut, TMat0, TMat1, TMat2, TShape0, TShape1, TShape2>(IGraph<TShape0, TMat0>, IGraph<TShape1, TMat1>, IGraph<TShape2, TMat2>, Func<TMat0, TMat1, TMat2, TMatOut>, Func<GraphDsl.Builder<TMatOut>, TShape0, TShape1, TShape2, TShapeOut>)
Creates a new IGraph<TShape, TMaterialized> by importing the given graphs and passing their Shapes along with the GraphDsl.Builder<T> to the given create function.
Declaration
public static IGraph<TShapeOut, TMatOut> Create<TShapeOut, TMatOut, TMat0, TMat1, TMat2, TShape0, TShape1, TShape2>(IGraph<TShape0, TMat0> g0, IGraph<TShape1, TMat1> g1, IGraph<TShape2, TMat2> g2, Func<TMat0, TMat1, TMat2, TMatOut> combineMaterializers, Func<GraphDsl.Builder<TMatOut>, TShape0, TShape1, TShape2, TShapeOut> buildBlock)
where TShapeOut : Shape where TShape0 : Shape where TShape1 : Shape where TShape2 : Shape
Parameters
Type | Name | Description |
---|---|---|
IGraph<TShape0, TMat0> | g0 | A first input graph. |
IGraph<TShape1, TMat1> | g1 | A second input graph. |
IGraph<TShape2, TMat2> | g2 | A third input graph. |
Func<TMat0, TMat1, TMat2, TMatOut> | combineMaterializers | Function used to determine output materialized value based on the materialized values of the passed graphs. |
Func<GraphDsl.Builder<TMatOut>, TShape0, TShape1, TShape2, TShapeOut> | buildBlock | A graph constructor function. |
Returns
Type | Description |
---|---|
IGraph<TShapeOut, TMatOut> | A graph with materialized value. |
Type Parameters
Name | Description |
---|---|
TShapeOut | A type describing shape of the returned graph. |
TMatOut | A type of value, that graph will materialize to after completion. |
TMat0 | A type of materialized value of the first input graph parameter. |
TMat1 | A type of materialized value of the second input graph parameter. |
TMat2 | A type of materialized value of the third input graph parameter. |
TShape0 | A type describing the shape of a first input graph parameter. |
TShape1 | A type describing the shape of a second input graph parameter. |
TShape2 | A type describing the shape of a third input graph parameter. |
CreateMaterialized<TShape, TMat>(Func<GraphDsl.Builder<TMat>, TShape>)
Creates a new IGraph<TShape, TMaterialized> by passing a GraphDsl.Builder<T> to the given create function.
Declaration
public static IGraph<TShape, TMat> CreateMaterialized<TShape, TMat>(Func<GraphDsl.Builder<TMat>, TShape> buildBlock)
where TShape : Shape
Parameters
Type | Name | Description |
---|---|---|
Func<GraphDsl.Builder<TMat>, TShape> | buildBlock | Graph construction function. |
Returns
Type | Description |
---|---|
IGraph<TShape, TMat> | A graph with materialized value. |
Type Parameters
Name | Description |
---|---|
TShape | Shape of the produced graph. |
TMat | A type of value, that graph will materialize to after completion. |