object FlowWithContext
- Source
- FlowWithContext.scala
- Alphabetic
- By Inheritance
- FlowWithContext
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- def create[In, Ctx](): FlowWithContext[In, Ctx, In, Ctx, NotUsed]
- def fromPairs[In, CtxIn, Out, CtxOut, Mat](under: Flow[Pair[In, CtxIn], Pair[Out, CtxOut], Mat]): FlowWithContext[In, CtxIn, Out, CtxOut, Mat]
Creates a FlowWithContext from a regular flow that operates on
Pair<data, context>
elements. - def unsafeOptionalDataVia[FIn, FOut, FViaOut, Ctx, FMat, FViaMat, Mat](flow: FlowWithContext[FIn, Ctx, Optional[FOut], Ctx, FMat], viaFlow: Flow[FOut, FViaOut, FViaMat], combine: Function2[FMat, FViaMat, Mat]): FlowWithContext[FIn, Ctx, Optional[FViaOut], Ctx, Mat]
Creates a FlowWithContext from an existing base FlowWithContext outputting an optional element and applying an additional viaFlow only if the element in the stream is defined.
Creates a FlowWithContext from an existing base FlowWithContext outputting an optional element and applying an additional viaFlow only if the element in the stream is defined.
Emits when the provided viaFlow runs with defined elements
Backpressures when the viaFlow runs for the defined elements and downstream backpressures
Completes when upstream completes
Cancels when downstream cancels
- flow
The base flow that outputs an optional element
- viaFlow
The flow that gets used if the optional element in is defined. This flow only works on the data portion of flow and ignores the context so this flow *must* not re-order, drop or emit multiple elements for one incoming element
- combine
How to combine the materialized values of flow and viaFlow
- returns
a FlowWithContext with the viaFlow applied onto defined elements of the flow. The output value is contained within an Optional which indicates whether the original flow's element had viaFlow applied.
- Annotations
- @ApiMayChange()
- Since
1.1.0