object Flow

Source
Flow.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Flow
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate() @throws( ... )
  6. def create[T](): Flow[T, T, NotUsed]

    Create a Flow which can process elements of type T.

  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def fromFunction[I, O](f: Function[I, O]): Flow[I, O, NotUsed]

    Creates a [Flow] which will use the given function to transform its inputs to outputs.

    Creates a [Flow] which will use the given function to transform its inputs to outputs. It is equivalent to Flow.create[T].map(f)

  10. def fromGraph[I, O, M](g: Graph[FlowShape[I, O], M]): Flow[I, O, M]

    A graph with the shape of a flow logically is a flow, this method makes it so also in type.

  11. def fromProcessor[I, O](processorFactory: Creator[Processor[I, O]]): Flow[I, O, NotUsed]
  12. def fromProcessorMat[I, O, Mat](processorFactory: Creator[Pair[Processor[I, O], Mat]]): Flow[I, O, Mat]
  13. def fromSinkAndSource[I, O](sink: Graph[SinkShape[I], _], source: Graph[SourceShape[O], _]): Flow[I, O, NotUsed]

    Creates a Flow from a Sink and a Source where the Flow's input will be sent to the Sink and the Flow's output will come from the Source.

    Creates a Flow from a Sink and a Source where the Flow's input will be sent to the Sink and the Flow's output will come from the Source.

    The resulting flow can be visualized as:

        +----------------------------------------------+
        | Resulting Flow[I, O, NotUsed]                |
        |                                              |
        |  +---------+                  +-----------+  |
        |  |         |                  |           |  |
    I  ~~> | Sink[I] | [no-connection!] | Source[O] | ~~> O
        |  |         |                  |           |  |
        |  +---------+                  +-----------+  |
        +----------------------------------------------+

    The completion of the Sink and Source sides of a Flow constructed using this method are independent. So if the Sink receives a completion signal, the Source side will remain unaware of that. If you are looking to couple the termination signals of the two sides use Flow.fromSinkAndSourceCoupled instead.

    See also fromSinkAndSourceMat when access to materialized values of the parameters is needed.

  14. def fromSinkAndSourceCoupled[I, O](sink: Graph[SinkShape[I], _], source: Graph[SourceShape[O], _]): Flow[I, O, NotUsed]

    Allows coupling termination (cancellation, completion, erroring) of Sinks and Sources while creating a Flow from them.

    Allows coupling termination (cancellation, completion, erroring) of Sinks and Sources while creating a Flow from them. Similar to Flow.fromSinkAndSource however couples the termination of these two operators.

    The resulting flow can be visualized as:

        +---------------------------------------------+
        | Resulting Flow[I, O, NotUsed]               |
        |                                             |
        |  +---------+                 +-----------+  |
        |  |         |                 |           |  |
    I  ~~> | Sink[I] | ~~~(coupled)~~~ | Source[O] | ~~> O
        |  |         |                 |           |  |
        |  +---------+                 +-----------+  |
        +---------------------------------------------+

    E.g. if the emitted Flow gets a cancellation, the Source of course is cancelled, however the Sink will also be completed. The table below illustrates the effects in detail:

    Returned Flow Sink (in) Source (out)
    cause: upstream (sink-side) receives completion effect: receives completion effect: receives cancel
    cause: upstream (sink-side) receives error effect: receives error effect: receives cancel
    cause: downstream (source-side) receives cancel effect: completes effect: receives cancel
    effect: cancels upstream, completes downstream effect: completes cause: signals complete
    effect: cancels upstream, errors downstream effect: receives error cause: signals error or throws
    effect: cancels upstream, completes downstream cause: cancels effect: receives cancel

    See also fromSinkAndSourceCoupledMat when access to materialized values of the parameters is needed.

  15. def fromSinkAndSourceCoupledMat[I, O, M1, M2, M](sink: Graph[SinkShape[I], M1], source: Graph[SourceShape[O], M2], combine: Function2[M1, M2, M]): Flow[I, O, M]

    Allows coupling termination (cancellation, completion, erroring) of Sinks and Sources while creating a Flow from them.

    Allows coupling termination (cancellation, completion, erroring) of Sinks and Sources while creating a Flow from them. Similar to Flow.fromSinkAndSource however couples the termination of these two operators.

    The resulting flow can be visualized as:

        +-----------------------------------------------------+
        | Resulting Flow[I, O, M]                             |
        |                                                     |
        |  +-------------+                 +---------------+  |
        |  |             |                 |               |  |
    I  ~~> | Sink[I, M1] | ~~~(coupled)~~~ | Source[O, M2] | ~~> O
        |  |             |                 |               |  |
        |  +-------------+                 +---------------+  |
        +-----------------------------------------------------+

    E.g. if the emitted Flow gets a cancellation, the Source of course is cancelled, however the Sink will also be completed. The table on Flow.fromSinkAndSourceCoupled illustrates the effects in detail.

    The combine function is used to compose the materialized values of the sink and source into the materialized value of the resulting Flow.

  16. def fromSinkAndSourceMat[I, O, M1, M2, M](sink: Graph[SinkShape[I], M1], source: Graph[SourceShape[O], M2], combine: Function2[M1, M2, M]): Flow[I, O, M]

    Creates a Flow from a Sink and a Source where the Flow's input will be sent to the Sink and the Flow's output will come from the Source.

    Creates a Flow from a Sink and a Source where the Flow's input will be sent to the Sink and the Flow's output will come from the Source.

    The resulting flow can be visualized as:

        +-------------------------------------------------------+
        | Resulting Flow[I, O, M]                              |
        |                                                      |
        |  +-------------+                  +---------------+  |
        |  |             |                  |               |  |
    I  ~~> | Sink[I, M1] | [no-connection!] | Source[O, M2] | ~~> O
        |  |             |                  |               |  |
        |  +-------------+                  +---------------+  |
        +------------------------------------------------------+

    The completion of the Sink and Source sides of a Flow constructed using this method are independent. So if the Sink receives a completion signal, the Source side will remain unaware of that. If you are looking to couple the termination signals of the two sides use Flow.fromSinkAndSourceCoupledMat instead.

    The combine function is used to compose the materialized values of the sink and source into the materialized value of the resulting Flow.

  17. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. def lazyInitAsync[I, O, M](flowFactory: Creator[CompletionStage[Flow[I, O, M]]]): Flow[I, O, CompletionStage[Optional[M]]]

    Creates a real Flow upon receiving the first element.

    Creates a real Flow upon receiving the first element. Internal Flow will not be created if there are no elements, because of completion, cancellation, or error.

    The materialized value of the Flow is a Future[Option[M]] that is completed with Some(mat) when the internal flow gets materialized or with None when there where no elements. If the flow materialization (including the call of the flowFactory) fails then the future is completed with a failure.

    Emits when the internal flow is successfully created and it emits

    Backpressures when the internal flow is successfully created and it backpressures

    Completes when upstream completes and all elements have been emitted from the internal flow

    Cancels when downstream cancels

  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. def of[T](clazz: Class[T]): Flow[T, T, NotUsed]

    Create a Flow which can process elements of type T.

  25. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. def upcast[In, SuperOut, Out <: SuperOut, M](flow: Flow[In, Out, M]): Flow[In, SuperOut, M]

    Upcast a stream of elements to a stream of supertypes of that element.

    Upcast a stream of elements to a stream of supertypes of that element. Useful in combination with fan-in operators where you do not want to pay the cost of casting each element in a map.

    SuperOut

    a supertype to the type of element flowing out of the flow

    returns

    A flow that accepts In and outputs elements of the super type

  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

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

    (Since version ) see corresponding Javadoc for more information.

  2. def lazyInit[I, O, M](flowFactory: Function[I, CompletionStage[Flow[I, O, M]]], fallback: Creator[M]): Flow[I, O, M]

    Creates a real Flow upon receiving the first element.

    Creates a real Flow upon receiving the first element. Internal Flow will not be created if there are no elements, because of completion, cancellation, or error.

    The materialized value of the Flow is the value that is created by the fallback function.

    Emits when the internal flow is successfully created and it emits

    Backpressures when the internal flow is successfully created and it backpressures

    Completes when upstream completes and all elements have been emitted from the internal flow

    Cancels when downstream cancels

    Annotations
    @Deprecated @deprecated
    Deprecated

    (Since version 2.5.12) Use lazyInitAsync instead. (lazyInitAsync returns a flow with a more useful materialized value.)

Inherited from AnyRef

Inherited from Any

Ungrouped