Package akka.stream.scaladsl
Class MergeHub<T>
- java.lang.Object
-
- akka.stream.stage.GraphStageWithMaterializedValue<SourceShape<T>,Sink<T,NotUsed>>
-
- akka.stream.scaladsl.MergeHub<T>
-
- All Implemented Interfaces:
Graph<SourceShape<T>,Sink<T,NotUsed>>
public class MergeHub<T> extends GraphStageWithMaterializedValue<SourceShape<T>,Sink<T,NotUsed>>
INTERNAL API
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
MergeHub.Event
class
MergeHub.InputState
class
MergeHub.MergedSourceLogic
static class
MergeHub.ProducerFailed
-
Constructor Summary
Constructors Constructor Description MergeHub(int perProducerBufferSize)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description scala.Tuple2<GraphStageLogic,Sink<T,NotUsed>>
createLogicAndMaterializedValue(Attributes inheritedAttributes)
Outlet<T>
out()
SourceShape<T>
shape()
The shape of a graph is all that is externally visible: its inlets and outlets.static <T> Source<T,Sink<T,NotUsed>>
source()
Creates aSource
that emits elements merged from a dynamic set of producers.static <T> Source<T,Sink<T,NotUsed>>
source(int perProducerBufferSize)
Creates aSource
that emits elements merged from a dynamic set of producers.-
Methods inherited from class akka.stream.stage.GraphStageWithMaterializedValue
createLogicAndMaterializedValue, initialAttributes, traversalBuilder, withAttributes
-
-
-
-
Method Detail
-
source
public static <T> Source<T,Sink<T,NotUsed>> source(int perProducerBufferSize)
Creates aSource
that emits elements merged from a dynamic set of producers. After theSource
returned by this method is materialized, it returns aSink
as a materialized value. ThisSink
can be materialized arbitrary many times and each of the materializations will feed the elements into the originalSource
.Every new materialization of the
Source
results in a new, independent hub, which materializes to its ownSink
for feeding that materialization.Completed or failed
Sink
s are simply removed. Once theSource
is cancelled, the Hub is considered closed and any new producers using theSink
will be cancelled.- Parameters:
perProducerBufferSize
- Buffer space used per producer. Default value is 16.- Returns:
- (undocumented)
-
source
public static <T> Source<T,Sink<T,NotUsed>> source()
Creates aSource
that emits elements merged from a dynamic set of producers. After theSource
returned by this method is materialized, it returns aSink
as a materialized value. ThisSink
can be materialized arbitrary many times and each of the materializations will feed the elements into the originalSource
.Every new materialization of the
Source
results in a new, independent hub, which materializes to its ownSink
for feeding that materialization.Completed or failed
Sink
s are simply removed. Once theSource
is cancelled, the Hub is considered closed and any new producers using theSink
will be cancelled.- Returns:
- (undocumented)
-
shape
public SourceShape<T> shape()
Description copied from interface:Graph
The shape of a graph is all that is externally visible: its inlets and outlets.- Returns:
- (undocumented)
-
createLogicAndMaterializedValue
public scala.Tuple2<GraphStageLogic,Sink<T,NotUsed>> createLogicAndMaterializedValue(Attributes inheritedAttributes)
- Specified by:
createLogicAndMaterializedValue
in classGraphStageWithMaterializedValue<SourceShape<T>,Sink<T,NotUsed>>
-
-