Class PekkoStreams

java.lang.Object
play.libs.streams.PekkoStreams

public class PekkoStreams extends Object
Pekko streams utilities.
  • Constructor Details

    • PekkoStreams

      public PekkoStreams()
  • Method Details

    • bypassWith

      public static <In, FlowIn, Out> Flow<In,Out,?> bypassWith(Function<In,F.Either<FlowIn,Out>> splitter, Flow<FlowIn,Out,?> flow)
      Bypass the given flow using the given splitter function.

      If the splitter function returns Left, they will go through the flow. If it returns Right, they will bypass the flow.

      Uses onlyFirstCanFinishMerge(2) by default.

      Type Parameters:
      In - the In type parameter for Flow
      FlowIn - the FlowIn type parameter for the left branch in Either.
      Out - the Out type parameter for Flow
      Parameters:
      flow - the original flow
      splitter - the splitter function to use
      Returns:
      the flow with a bypass.
    • bypassWith

      public static <In, FlowIn, Out> Flow<In,Out,?> bypassWith(Flow<In,F.Either<FlowIn,Out>,?> splitter, Graph<UniformFanInShape<Out,Out>,?> mergeStrategy, Flow<FlowIn,Out,?> flow)
      Using the given splitter flow, allow messages to bypass a flow.

      If the splitter flow produces Left, they will be fed into the flow. If it produces Right, they will bypass the flow.

      Type Parameters:
      In - the In type parameter for Flow
      FlowIn - the FlowIn type parameter for the left branch in Either.
      Out - the Out type parameter for Flow.
      Parameters:
      flow - the original flow.
      splitter - the splitter function.
      mergeStrategy - the merge strategy (onlyFirstCanFinishMerge, ignoreAfterFinish, ignoreAfterCancellation)
      Returns:
      the flow with a bypass.