Click or drag to resize
Akka.NETSourceOperationsExpandTOut1, TOut2, TMat Method
Allows a faster downstream to progress independently of a slower publisher by extrapolating elements from an older element until new element comes from the upstream. For example an expand step might repeat the last element for the subscriber until it receives an update from upstream. This element will never "drop" upstream elements as all elements go through at least one extrapolation step. This means that if the upstream is actually faster than the upstream it will be backpressured by the downstream subscriber. Expand does not support Restart and Resume. Exceptions from the extrapolate function will complete the stream with failure.

Emits when downstream stops backpressuring

Backpressures when downstream backpressures

Completes when upstream completes

Cancels when downstream cancels

Namespace:  Akka.Streams.Dsl
Assembly:  Akka.Streams (in Akka.Streams.dll) Version: 1.2.3.42 (1.2.3.42)
Syntax
public static Source<TOut2, TMat> Expand<TOut1, TOut2, TMat>(
	this Source<TOut1, TMat> flow,
	Func<TOut1, IEnumerator<TOut2>> extrapolate
)

Parameters

flow
Type: Akka.Streams.DslSourceTOut1, TMat
TBD
extrapolate
Type: SystemFuncTOut1, IEnumeratorTOut2
Takes the current extrapolation state to produce an output element and the next extrapolation state.

Type Parameters

TOut1
TBD
TOut2
TBD
TMat
TBD

Return Value

Type: SourceTOut2, TMat
TBD

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type SourceTOut1, TMat. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
See Also