Class MergeHub


  • public class MergeHub
    extends java.lang.Object
    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.
    • Constructor Summary

      Constructors 
      Constructor Description
      MergeHub()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T> Source<T,​Sink<T,​NotUsed>> of​(java.lang.Class<T> clazz)
      Creates a Source that emits elements merged from a dynamic set of producers.
      static <T> Source<T,​Sink<T,​NotUsed>> of​(java.lang.Class<T> clazz, int perProducerBufferSize)
      Creates a Source that emits elements merged from a dynamic set of producers.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MergeHub

        public MergeHub()
    • Method Detail

      • of

        public static <T> Source<T,​Sink<T,​NotUsed>> of​(java.lang.Class<T> clazz,
                                                                   int perProducerBufferSize)
        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.

        Parameters:
        clazz - Type of elements this hub emits and consumes
        perProducerBufferSize - Buffer space used per producer.
        Returns:
        (undocumented)
      • of

        public static <T> Source<T,​Sink<T,​NotUsed>> of​(java.lang.Class<T> clazz)
        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.

        Parameters:
        clazz - Type of elements this hub emits and consumes
        Returns:
        (undocumented)