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
 
- Alphabetic
 - By Inheritance
 
- MergeHub
 - AnyRef
 - Any
 
- Hide All
 - Show All
 
- Public
 - Protected
 
Type Members
-   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.
 -  final class ProducerFailed extends RuntimeException
 
Value Members
-   final  def !=(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def ##: Int
- Definition Classes
 - AnyRef → Any
 
 -   final  def ==(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def asInstanceOf[T0]: T0
- Definition Classes
 - Any
 
 -    def clone(): AnyRef
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
 
 -   final  def eq(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -    def equals(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def getClass(): Class[_ <: AnyRef]
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @HotSpotIntrinsicCandidate() @native()
 
 -    def hashCode(): Int
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @HotSpotIntrinsicCandidate() @native()
 
 -   final  def isInstanceOf[T0]: Boolean
- Definition Classes
 - Any
 
 -   final  def ne(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -   final  def notify(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @HotSpotIntrinsicCandidate() @native()
 
 -   final  def notifyAll(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @HotSpotIntrinsicCandidate() @native()
 
 -    def source[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.
 -    def source[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.
- perProducerBufferSize
 Buffer space used per producer. Default value is 16.
 -    def sourceWithDraining[T](): Source[T, (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 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.
The materialized DrainingControl can be used to drain the Hub: any new producers using the Sink will be cancelled and the Hub will be closed completing the Source as soon as all currently connected producers complete.
 -    def sourceWithDraining[T](perProducerBufferSize: Int): Source[T, (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 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.
The materialized DrainingControl can be used to drain the Hub: any new producers using the Sink will be cancelled and the Hub will be closed completing the Source as soon as all currently connected producers complete.
- perProducerBufferSize
 Buffer space used per producer. Default value is 16.
 -   final  def synchronized[T0](arg0: => T0): T0
- Definition Classes
 - AnyRef
 
 -    def toString(): String
- Definition Classes
 - AnyRef → Any
 
 -   final  def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])
 
 -   final  def wait(arg0: Long): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException]) @native()
 
 -   final  def wait(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])