object MergeHub

A MergeHub is a special streaming hub that is able to collect streamed elements from a dynamic set of producers. It consists of two parts, a Source and a Sink. The Source streams the element to a consumer from its merged inputs. Once the consumer has been materialized, the Source returns a materialized value which is the corresponding Sink. This Sink can then be materialized arbitrary many times, where each of the new materializations will feed its consumed elements to the original Source.

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

Type Members

  1. sealed trait DrainingControl extends AnyRef

    A DrainingControl object is created during the materialization of a MergeHub and allows to initiate the draining and eventual completion of the Hub from the outside.

    A DrainingControl object is created during the materialization of a MergeHub and allows to initiate the draining and eventual completion of the Hub from the outside.

    Not for user extension

    Annotations
    @DoNotInherit()

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[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  14. def of[T](clazz: Class[T]): Source[T, Sink[T, NotUsed]]

    Creates a Source that emits elements merged from a dynamic set of producers.

    Creates a Source that emits elements merged from a dynamic set of producers. After the Source returned by this method is materialized, it returns a Sink as a materialized value. This Sink can be materialized arbitrary many times and each of the materializations will feed the elements into the original Source.

    Every new materialization of the Source results in a new, independent hub, which materializes to its own Sink for feeding that materialization.

    Completed or failed Sinks are simply removed. Once the Source is cancelled, the Hub is considered closed and any new producers using the Sink will be cancelled.

    clazz

    Type of elements this hub emits and consumes

  15. def of[T](clazz: Class[T], perProducerBufferSize: Int): Source[T, Sink[T, NotUsed]]

    Creates a Source that emits elements merged from a dynamic set of producers.

    Creates a Source that emits elements merged from a dynamic set of producers. After the Source returned by this method is materialized, it returns a Sink as a materialized value. This Sink can be materialized arbitrary many times and each of the materializations will feed the elements into the original Source.

    Every new materialization of the Source results in a new, independent hub, which materializes to its own Sink for feeding that materialization.

    Completed or failed Sinks are simply removed. Once the Source is cancelled, the Hub is considered closed and any new producers using the Sink will be cancelled.

    clazz

    Type of elements this hub emits and consumes

    perProducerBufferSize

    Buffer space used per producer.

  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. def withDraining[T](clazz: Class[T]): Source[T, Pair[Sink[T, NotUsed], DrainingControl]]

    Creates a Source that emits elements merged from a dynamic set of producers.

    Creates a Source that emits elements merged from a dynamic set of producers. After the Source returned by this method is materialized, it returns a Sink as a materialized value. This Sink can be materialized arbitrarily many times and each of the materializations will feed the elements into the original Source.

    Every new materialization of the Source results in a new, independent hub, which materializes to its own Sink for feeding that materialization.

    Completed or failed Sinks are simply removed. Once the Source is cancelled, the Hub is considered closed and any new producers using the Sink will be cancelled.

    The materialized DrainingControl can be used to drain the Hub: any new produces using the Sink will be cancelled and the Hub will be closed completing the Source as soon as all currently connected producers complete.

    clazz

    Type of elements this hub emits and consumes

  22. def withDraining[T](clazz: Class[T], perProducerBufferSize: Int): Source[T, Pair[Sink[T, NotUsed], DrainingControl]]

    Creates a Source that emits elements merged from a dynamic set of producers.

    Creates a Source that emits elements merged from a dynamic set of producers. After the Source returned by this method is materialized, it returns a Sink as a materialized value. This Sink can be materialized arbitrarily many times and each of the materializations will feed the elements into the original Source.

    Every new materialization of the Source results in a new, independent hub, which materializes to its own Sink for feeding that materialization.

    Completed or failed Sinks are simply removed. Once the Source is cancelled, the Hub is considered closed and any new producers using the Sink will be cancelled.

    The materialized DrainingControl can be used to drain the Hub: any new produces using the Sink will be cancelled and the Hub will be closed completing the Source as soon as all currently connected producers complete.

    clazz

    Type of elements this hub emits and consumes

    perProducerBufferSize

    Buffer space used per producer. Default value is 16.

Deprecated Value Members

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

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped