public class StreamUtils
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
StreamUtils.CaptureMaterializationAndTerminationOp$
INTERNAL API
|
static class |
StreamUtils.CaptureTerminationOp$
INTERNAL API
|
static class |
StreamUtils.DelayCancellationStage<T> |
static interface |
StreamUtils.EntityStreamOp<M>
INTERNAL API
|
static interface |
StreamUtils.Fuser |
static interface |
StreamUtils.OneTimeValve
Similar to Source.maybe but doesn't rely on materialization.
|
static class |
StreamUtils.OneTimeValve$ |
static interface |
StreamUtils.ScheduleSupport |
Constructor and Description |
---|
StreamUtils() |
Modifier and Type | Method and Description |
---|---|
static akka.stream.stage.GraphStage<akka.stream.FlowShape<akka.util.ByteString,akka.util.ByteString>> |
byteStringTransformer(scala.Function1<akka.util.ByteString,akka.util.ByteString> f,
scala.Function0<akka.util.ByteString> finish)
Creates a transformer that will call
f for each incoming ByteString and output its result. |
static void |
cancelSource(akka.stream.scaladsl.Source<?,?> source,
akka.stream.Materializer materializer)
Tries to guess whether a source needs to cancelled and how.
|
static <T,Mat> scala.Tuple2<akka.stream.scaladsl.Source<T,Mat>,scala.concurrent.Future<scala.runtime.BoxedUnit>> |
captureTermination(akka.stream.scaladsl.Source<T,Mat> source) |
static <T> akka.stream.scaladsl.Flow<T,T,akka.NotUsed> |
delayCancellation(scala.concurrent.duration.Duration cancelAfter)
INTERNAL API
|
static <S extends akka.stream.Shape,M> |
fuseAggressive(akka.stream.Graph<S,M> g)
Try to fuse flow using Fusing.aggressive reflectively on Akka 2.4 or do nothing on Akka >= 2.5 (where explicit
fusing is neither supported nor necessary).
|
static akka.stream.stage.GraphStage<akka.stream.FlowShape<akka.util.ByteString,akka.util.ByteString>> |
limitByteChunksStage(int maxBytesPerChunk) |
static akka.stream.Materializer |
OnlyRunInGraphInterpreterContext()
Dummy name to signify that the caller asserts that cancelSource is only run from within a GraphInterpreter context
|
static akka.stream.scaladsl.Flow<akka.util.ByteString,akka.util.ByteString,akka.NotUsed> |
sliceBytesTransformer(long start,
long length) |
static <T,U> akka.stream.scaladsl.Flow<T,U,akka.NotUsed> |
statefulAttrsMap(scala.Function1<akka.stream.Attributes,scala.Function1<T,U>> functionConstructor)
Lifts the streams attributes into an element and passes them to the function for each passed through element.
|
static <T,U> akka.stream.scaladsl.Flow<T,U,akka.NotUsed> |
statefulMap(scala.Function0<scala.Function1<T,U>> functionConstructor)
Similar idea than
FlowOps.statefulMapConcat but for a simple map. |
static <T extends HttpEntity,M> |
transformEntityStream(T entity,
StreamUtils.EntityStreamOp<M> streamOp)
INTERNAL API
|
public static akka.stream.stage.GraphStage<akka.stream.FlowShape<akka.util.ByteString,akka.util.ByteString>> byteStringTransformer(scala.Function1<akka.util.ByteString,akka.util.ByteString> f, scala.Function0<akka.util.ByteString> finish)
f
for each incoming ByteString and output its result. After the complete
input has been read it will call finish
once to determine the final ByteString to post to the output.
Empty ByteStrings are discarded.f
- (undocumented)finish
- (undocumented)public static <T,Mat> scala.Tuple2<akka.stream.scaladsl.Source<T,Mat>,scala.concurrent.Future<scala.runtime.BoxedUnit>> captureTermination(akka.stream.scaladsl.Source<T,Mat> source)
public static akka.stream.scaladsl.Flow<akka.util.ByteString,akka.util.ByteString,akka.NotUsed> sliceBytesTransformer(long start, long length)
public static akka.stream.stage.GraphStage<akka.stream.FlowShape<akka.util.ByteString,akka.util.ByteString>> limitByteChunksStage(int maxBytesPerChunk)
public static <T> akka.stream.scaladsl.Flow<T,T,akka.NotUsed> delayCancellation(scala.concurrent.duration.Duration cancelAfter)
Returns a flow that is almost identity but delays propagation of cancellation from downstream to upstream.
cancelAfter
- (undocumented)public static <T,U> akka.stream.scaladsl.Flow<T,U,akka.NotUsed> statefulMap(scala.Function0<scala.Function1<T,U>> functionConstructor)
FlowOps.statefulMapConcat
but for a simple map.functionConstructor
- (undocumented)public static <T,U> akka.stream.scaladsl.Flow<T,U,akka.NotUsed> statefulAttrsMap(scala.Function1<akka.stream.Attributes,scala.Function1<T,U>> functionConstructor)
FlowOps.statefulMapConcat
but for a simple map.
The result of Attributes => (T => U)
is cached, and only the T => U
function will be invoked afterwards for each element.
functionConstructor
- (undocumented)public static akka.stream.Materializer OnlyRunInGraphInterpreterContext()
public static void cancelSource(akka.stream.scaladsl.Source<?,?> source, akka.stream.Materializer materializer)
source
- (undocumented)materializer
- (undocumented)public static <S extends akka.stream.Shape,M> akka.stream.Graph<S,M> fuseAggressive(akka.stream.Graph<S,M> g)
g
- (undocumented)public static <T extends HttpEntity,M> scala.Tuple2<T,M> transformEntityStream(T entity, StreamUtils.EntityStreamOp<M> streamOp)
entity
- (undocumented)streamOp
- (undocumented)