Packages

t

org.apache.pekko.stream.scaladsl

FlowWithContextOps

trait FlowWithContextOps[+Out, +Ctx, +Mat] extends AnyRef

Shared stream operations for FlowWithContext and SourceWithContext that automatically propagate a context element with each data element.

Source
FlowWithContextOps.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FlowWithContextOps
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type Repr[+O, +C] = ReprMat[O, C, Mat]
  2. abstract type ReprMat[+O, +C, +M] <: FlowWithContextOps[O, C, M] { type ReprMat[+OO, +CC, +MatMat] = FlowWithContextOps.this.ReprMat[OO,CC,MatMat] }

Abstract Value Members

  1. abstract def alsoTo(that: Graph[SinkShape[Out], _], propagateCancellation: Boolean): Repr[Out, Ctx]

    Data variant of FlowOps.alsoTo with configurable cancellation propagation.

    Data variant of FlowOps.alsoTo with configurable cancellation propagation.

    Since

    2.0.0

    See also

    FlowOps.alsoTo

  2. abstract def alsoTo(that: Graph[SinkShape[Out], _]): Repr[Out, Ctx]

    Data variant of FlowOps.alsoTo

    Data variant of FlowOps.alsoTo

    Since

    1.1.0

    See also

    FlowOps.alsoTo

  3. abstract def alsoToContext(that: Graph[SinkShape[Ctx], _]): Repr[Out, Ctx]

    Context variant of FlowOps.alsoTo

    Context variant of FlowOps.alsoTo

    Since

    1.1.0

    See also

    FlowOps.alsoTo

  4. abstract def unsafeDataVia[Out2, Mat2](viaFlow: Graph[FlowShape[Out, Out2], Mat2]): Repr[Out2, Ctx]

    Transform this flow by the regular flow.

    Transform this flow by the regular flow. The given flow works on the data portion of the stream and ignores the context.

    The given flow *must* not re-order, drop or emit multiple elements for one incoming element, the sequence of incoming contexts is re-combined with the outgoing elements of the stream. If a flow not fulfilling this requirement is used the stream will not fail but continue running in a corrupt state and re-combine incorrect pairs of elements and contexts or deadlock.

    For more background on these requirements see https://pekko.apache.org/docs/pekko/current/stream/stream-context.html.

    Annotations
    @ApiMayChange()
  5. abstract def via[Out2, Ctx2, Mat2](flow: Graph[FlowShape[(Out, Ctx), (Out2, Ctx2)], Mat2]): Repr[Out2, Ctx2]

    Transform this flow by the regular flow.

    Transform this flow by the regular flow. The given flow must support manual context propagation by taking and producing tuples of (data, context).

    It is up to the implementer to ensure the inner flow does not exhibit any behavior that is not expected by the downstream elements, such as reordering. For more background on these requirements see https://pekko.apache.org/docs/pekko/current/stream/stream-context.html.

    This can be used as an escape hatch for operations that are not (yet) provided with automatic context propagation here.

    See also

    FlowOps.via

  6. abstract def viaMat[Out2, Ctx2, Mat2, Mat3](flow: Graph[FlowShape[(Out, Ctx), (Out2, Ctx2)], Mat2])(combine: (Mat, Mat2) => Mat3): ReprMat[Out2, Ctx2, Mat3]

    Transform this flow by the regular flow.

    Transform this flow by the regular flow. The given flow must support manual context propagation by taking and producing tuples of (data, context).

    It is up to the implementer to ensure the inner flow does not exhibit any behavior that is not expected by the downstream elements, such as reordering. For more background on these requirements see https://pekko.apache.org/docs/pekko/current/stream/stream-context.html.

    This can be used as an escape hatch for operations that are not (yet) provided with automatic context propagation here.

    The combine function is used to compose the materialized values of this flow and that flow into the materialized value of the resulting Flow.

    See also

    pekko.stream.scaladsl.FlowOpsMat.viaMat

  7. abstract def wireTap(that: Graph[SinkShape[Out], _]): Repr[Out, Ctx]

    Data variant of FlowOps.wireTap

    Data variant of FlowOps.wireTap

    Since

    1.1.0

    See also

    FlowOps.wireTap

  8. abstract def wireTapContext(that: Graph[SinkShape[Ctx], _]): Repr[Out, Ctx]

    Context variant of FlowOps.wireTap

    Context variant of FlowOps.wireTap

    Since

    1.1.0

    See also

    FlowOps.wireTap

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from FlowWithContextOps[Out, Ctx, Mat] toany2stringadd[FlowWithContextOps[Out, Ctx, Mat]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (FlowWithContextOps[Out, Ctx, Mat], B)
    Implicit
    This member is added by an implicit conversion from FlowWithContextOps[Out, Ctx, Mat] toArrowAssoc[FlowWithContextOps[Out, Ctx, Mat]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  8. def collect[Out2](f: PartialFunction[Out, Out2]): Repr[Out2, Ctx]

    Context-preserving variant of FlowOps.collect.

    Context-preserving variant of FlowOps.collect.

    Note, that the context of elements that are filtered out is skipped as well.

    See also

    FlowOps.collect

  9. def collectFirst[Out2](f: PartialFunction[Out, Out2]): Repr[Out2, Ctx]

    Context-preserving variant of FlowOps.collectFirst.

    Context-preserving variant of FlowOps.collectFirst.

    Note, that the context of elements that are filtered out is skipped as well.

    Since

    2.0.0

    See also

    FlowOps.collectFirst

  10. def collectType[Out2](implicit tag: ClassTag[Out2]): Repr[Out2, Ctx]

    Context-preserving variant of FlowOps.collectType.

    Context-preserving variant of FlowOps.collectType.

    Note, that the context of elements that are filtered out is skipped as well.

    Since

    2.0.0

    See also

    FlowOps.collectType

  11. def collectWhile[Out2](f: PartialFunction[Out, Out2]): Repr[Out2, Ctx]

    Context-preserving variant of FlowOps.collectWhile.

    Context-preserving variant of FlowOps.collectWhile.

    Note, that the context of elements that are filtered out is skipped as well.

    Since

    2.0.0

    See also

    FlowOps.collectWhile

  12. def drop(n: Long): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.drop.

    Context-preserving variant of FlowOps.drop.

    Since

    2.0.0

    See also

    FlowOps.drop

  13. def dropRepeated(pred: (Out, Out) => Boolean): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.dropRepeated.

    Context-preserving variant of FlowOps.dropRepeated.

    Since

    2.0.0

    See also

    FlowOps.dropRepeated

  14. def dropRepeated(): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.dropRepeated.

    Context-preserving variant of FlowOps.dropRepeated.

    Since

    2.0.0

    See also

    FlowOps.dropRepeated

  15. def dropWhile(pred: (Out) => Boolean): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.dropWhile.

    Context-preserving variant of FlowOps.dropWhile.

    Since

    2.0.0

    See also

    FlowOps.dropWhile

  16. def dropWithin(d: FiniteDuration): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.dropWithin.

    Context-preserving variant of FlowOps.dropWithin.

    Since

    2.0.0

    See also

    FlowOps.dropWithin

  17. def ensuring(cond: (FlowWithContextOps[Out, Ctx, Mat]) => Boolean, msg: => Any): FlowWithContextOps[Out, Ctx, Mat]
    Implicit
    This member is added by an implicit conversion from FlowWithContextOps[Out, Ctx, Mat] toEnsuring[FlowWithContextOps[Out, Ctx, Mat]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: (FlowWithContextOps[Out, Ctx, Mat]) => Boolean): FlowWithContextOps[Out, Ctx, Mat]
    Implicit
    This member is added by an implicit conversion from FlowWithContextOps[Out, Ctx, Mat] toEnsuring[FlowWithContextOps[Out, Ctx, Mat]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: Boolean, msg: => Any): FlowWithContextOps[Out, Ctx, Mat]
    Implicit
    This member is added by an implicit conversion from FlowWithContextOps[Out, Ctx, Mat] toEnsuring[FlowWithContextOps[Out, Ctx, Mat]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. def ensuring(cond: Boolean): FlowWithContextOps[Out, Ctx, Mat]
    Implicit
    This member is added by an implicit conversion from FlowWithContextOps[Out, Ctx, Mat] toEnsuring[FlowWithContextOps[Out, Ctx, Mat]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  21. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  23. def filter(pred: (Out) => Boolean): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.filter.

    Context-preserving variant of FlowOps.filter.

    Note, that the context of elements that are filtered out is skipped as well.

    See also

    FlowOps.filter

  24. def filterNot(pred: (Out) => Boolean): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.filterNot.

    Context-preserving variant of FlowOps.filterNot.

    Note, that the context of elements that are filtered out is skipped as well.

    See also

    FlowOps.filterNot

  25. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  26. def grouped(n: Int): Repr[Seq[Out], Seq[Ctx]]

    Context-preserving variant of FlowOps.grouped.

    Context-preserving variant of FlowOps.grouped.

    Each output group will be associated with a Seq of corresponding context elements.

    See also

    FlowOps.grouped

  27. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  28. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  29. def limit(max: Long): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.limit.

    Context-preserving variant of FlowOps.limit.

    Since

    2.0.0

    See also

    FlowOps.limit

  30. def limitWeighted(max: Long)(costFn: (Out) => Long): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.limitWeighted.

    Context-preserving variant of FlowOps.limitWeighted.

    Since

    2.0.0

    See also

    FlowOps.limitWeighted

  31. def log(name: String, extract: (Out) => Any = ConstantFun.scalaIdentityFunction)(implicit log: LoggingAdapter = null): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.log.

    Context-preserving variant of FlowOps.log.

    See also

    FlowOps.log

  32. def logWithMarker(name: String, marker: (Out, Ctx) => LogMarker, extract: (Out) => Any = ConstantFun.scalaIdentityFunction)(implicit log: MarkerLoggingAdapter = null): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.logWithMarker.

    Context-preserving variant of FlowOps.logWithMarker.

    See also

    FlowOps.logWithMarker

  33. def map[Out2](f: (Out) => Out2): Repr[Out2, Ctx]

    Context-preserving variant of FlowOps.map.

    Context-preserving variant of FlowOps.map.

    See also

    FlowOps.map

  34. def mapAsync[Out2](parallelism: Int)(f: (Out) => Future[Out2]): Repr[Out2, Ctx]

    Context-preserving variant of FlowOps.mapAsync.

    Context-preserving variant of FlowOps.mapAsync.

    See also

    FlowOps.mapAsync

  35. def mapAsyncPartitioned[Out2, P](parallelism: Int)(partitioner: (Out) => P)(f: (Out, P) => Future[Out2]): Repr[Out2, Ctx]

    Context-preserving variant of FlowOps.mapAsyncPartitioned.

    Context-preserving variant of FlowOps.mapAsyncPartitioned.

    Since

    1.1.0

    See also

    FlowOps.mapAsyncPartitioned

  36. def mapAsyncPartitionedUnordered[Out2, P](parallelism: Int)(partitioner: (Out) => P)(f: (Out, P) => Future[Out2]): Repr[Out2, Ctx]

    Context-preserving variant of FlowOps.mapAsyncPartitionedUnordered.

    Context-preserving variant of FlowOps.mapAsyncPartitionedUnordered.

    Since

    1.1.0

    See also

    FlowOps.mapAsyncPartitionedUnordered

  37. def mapConcat[Out2](f: (Out) => IterableOnce[Out2]): Repr[Out2, Ctx]

    Context-preserving variant of FlowOps.mapConcat.

    Context-preserving variant of FlowOps.mapConcat.

    The context of the input element will be associated with each of the output elements calculated from this input element.

    Example:

    def dup(element: String) = Seq(element, element)

    Input:

    ("a", 1) ("b", 2)

    inputElements.mapConcat(dup)

    Output:

    ("a", 1) ("a", 1) ("b", 2) ("b", 2)

    See also

    FlowOps.mapConcat

  38. def mapContext[Ctx2](f: (Ctx) => Ctx2): Repr[Out, Ctx2]

    Apply the given function to each context element (leaving the data elements unchanged).

  39. def mapError(pf: PartialFunction[Throwable, Throwable]): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.mapError.

    Context-preserving variant of FlowOps.mapError.

    See also

    FlowOps.mapError

  40. def mapOption[Out2](f: (Out) => Option[Out2]): Repr[Out2, Ctx]

    Context-preserving variant of FlowOps.mapOption.

    Context-preserving variant of FlowOps.mapOption.

    Note, that the context of elements that are filtered out is skipped as well.

    Since

    2.0.0

    See also

    FlowOps.mapOption

  41. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  42. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  43. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  44. def sliding(n: Int, step: Int = 1): Repr[Seq[Out], Seq[Ctx]]

    Context-preserving variant of FlowOps.sliding.

    Context-preserving variant of FlowOps.sliding.

    Each output group will be associated with a Seq of corresponding context elements.

    See also

    FlowOps.sliding

  45. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  46. def take(n: Long): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.take.

    Context-preserving variant of FlowOps.take.

    Since

    2.0.0

    See also

    FlowOps.take

  47. def takeUntil(pred: (Out) => Boolean): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.takeUntil.

    Context-preserving variant of FlowOps.takeUntil.

    Since

    2.0.0

    See also

    FlowOps.takeUntil

  48. def takeWhile(pred: (Out) => Boolean, inclusive: Boolean): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.takeWhile.

    Context-preserving variant of FlowOps.takeWhile.

    Since

    2.0.0

    See also

    FlowOps.takeWhile

  49. def takeWhile(pred: (Out) => Boolean): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.takeWhile.

    Context-preserving variant of FlowOps.takeWhile.

    Since

    2.0.0

    See also

    FlowOps.takeWhile

  50. def takeWithin(d: FiniteDuration): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.takeWithin.

    Context-preserving variant of FlowOps.takeWithin.

    Since

    2.0.0

    See also

    FlowOps.takeWithin

  51. def throttle(cost: Int, per: FiniteDuration, maximumBurst: Int, costCalculation: (Out) => Int, mode: ThrottleMode): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.throttle.

    Context-preserving variant of FlowOps.throttle.

    See also

    FlowOps.throttle

  52. def throttle(cost: Int, per: FiniteDuration, costCalculation: (Out) => Int): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.throttle.

    Context-preserving variant of FlowOps.throttle.

    See also

    FlowOps.throttle

  53. def throttle(elements: Int, per: FiniteDuration, maximumBurst: Int, mode: ThrottleMode): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.throttle.

    Context-preserving variant of FlowOps.throttle.

    See also

    FlowOps.throttle

  54. def throttle(elements: Int, per: FiniteDuration): Repr[Out, Ctx]

    Context-preserving variant of FlowOps.throttle.

    Context-preserving variant of FlowOps.throttle.

    See also

    FlowOps.throttle

  55. def toString(): String
    Definition Classes
    AnyRef → Any
  56. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  57. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  58. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  59. def withFilter(pred: (Out) => Boolean): Repr[Out, Ctx]

    Alias for filter, added to enable filtering in for comprehensions.

    Alias for filter, added to enable filtering in for comprehensions.

    Annotations
    @ApiMayChange()
    Since

    2.0.0

    See also

    FlowOps.withFilter

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  2. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from FlowWithContextOps[Out, Ctx, Mat] toStringFormat[FlowWithContextOps[Out, Ctx, Mat]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  3. def [B](y: B): (FlowWithContextOps[Out, Ctx, Mat], B)
    Implicit
    This member is added by an implicit conversion from FlowWithContextOps[Out, Ctx, Mat] toArrowAssoc[FlowWithContextOps[Out, Ctx, Mat]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromFlowWithContextOps[Out, Ctx, Mat] to any2stringadd[FlowWithContextOps[Out, Ctx, Mat]]

Inherited by implicit conversion StringFormat fromFlowWithContextOps[Out, Ctx, Mat] to StringFormat[FlowWithContextOps[Out, Ctx, Mat]]

Inherited by implicit conversion Ensuring fromFlowWithContextOps[Out, Ctx, Mat] to Ensuring[FlowWithContextOps[Out, Ctx, Mat]]

Inherited by implicit conversion ArrowAssoc fromFlowWithContextOps[Out, Ctx, Mat] to ArrowAssoc[FlowWithContextOps[Out, Ctx, Mat]]

Ungrouped