|FlowOperationsExpandTIn, TOut1, 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
Expand does not support Restart
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
Akka.Streams (in Akka.Streams.dll) Version: 126.96.36.199 (188.8.131.52)
public static Flow<TIn, TOut2, TMat> Expand<TIn, TOut1, TOut2, TMat>(
this Flow<TIn, TOut1, TMat> flow,
Func<TOut1, IEnumerator<TOut2>> extrapolate
static member Expand :
flow : Flow<'TIn, 'TOut1, 'TMat> *
extrapolate : Func<'TOut1, IEnumerator<'TOut2>> -> Flow<'TIn, 'TOut2, 'TMat>
- Type: Akka.Streams.DslFlowTIn, TOut1, TMat
- Type: SystemFuncTOut1, IEnumeratorTOut2
Takes the current extrapolation state to produce an output element and the next extrapolation state.
In Visual Basic and C#, you can call this method as an instance method on any object of type FlowTIn
. 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)