Class StreamUtils$

java.lang.Object
org.apache.pekko.http.impl.util.StreamUtils$

public class StreamUtils$ extends Object
INTERNAL API
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final StreamUtils$
    Static reference to the singleton instance of this Scala object.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.pekko.stream.stage.GraphStage<org.apache.pekko.stream.FlowShape<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString>>
    byteStringTransformer(scala.Function1<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString> f, scala.Function0<org.apache.pekko.util.ByteString> finish)
    Creates a transformer that will call f for each incoming ByteString and output its result.
    void
    cancelSource(org.apache.pekko.stream.scaladsl.Source<?,?> source, org.apache.pekko.stream.Materializer materializer)
    Tries to guess whether a source needs to cancelled and how.
    <T, Mat> scala.Tuple4<org.apache.pekko.stream.scaladsl.Source<T,Mat>,scala.concurrent.Future<scala.runtime.BoxedUnit>,scala.concurrent.Future<scala.runtime.BoxedUnit>,org.apache.pekko.stream.KillSwitch>
    captureMaterializationTerminationAndKillSwitch(org.apache.pekko.stream.scaladsl.Source<T,Mat> source)
     
    <T, Mat> scala.Tuple2<org.apache.pekko.stream.scaladsl.Source<T,Mat>,scala.concurrent.Future<scala.runtime.BoxedUnit>>
    captureTermination(org.apache.pekko.stream.scaladsl.Source<T,Mat> source)
     
    <T> org.apache.pekko.stream.scaladsl.Flow<T,T,org.apache.pekko.NotUsed>
    delayCancellation(scala.concurrent.duration.Duration cancelAfter)
    INTERNAL API
    <T> org.apache.pekko.stream.scaladsl.Flow<T,T,org.apache.pekko.NotUsed>
    encodeErrorAndComplete(scala.Function1<Throwable,T> f)
     
    scala.concurrent.Future<org.apache.pekko.stream.IOResult>
    handleIOResult(org.apache.pekko.stream.IOResult ioResult)
    Small helper necessary to deal with errors happening during IO operations like FileIO.toPath.
    org.apache.pekko.stream.stage.GraphStage<org.apache.pekko.stream.FlowShape<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString>>
    limitByteChunksStage(int maxBytesPerChunk)
     
    org.apache.pekko.stream.Materializer
    Dummy name to signify that the caller asserts that cancelSource is only run from within a GraphInterpreter context
    org.apache.pekko.stream.scaladsl.Flow<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.NotUsed>
    sliceBytesTransformer(long start, long length)
     
    <T, U> org.apache.pekko.stream.scaladsl.Flow<T,U,org.apache.pekko.NotUsed>
    statefulAttrsMap(scala.Function1<org.apache.pekko.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.
    <T extends HttpEntity, M>
    scala.Tuple2<T,M>
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • MODULE$

      public static final StreamUtils$ MODULE$
      Static reference to the singleton instance of this Scala object.
  • Constructor Details

    • StreamUtils$

      public StreamUtils$()
  • Method Details

    • byteStringTransformer

      public org.apache.pekko.stream.stage.GraphStage<org.apache.pekko.stream.FlowShape<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString>> byteStringTransformer(scala.Function1<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString> f, scala.Function0<org.apache.pekko.util.ByteString> finish)
      Creates a transformer that will call 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.
      Parameters:
      f - (undocumented)
      finish - (undocumented)
      Returns:
      (undocumented)
    • captureTermination

      public <T, Mat> scala.Tuple2<org.apache.pekko.stream.scaladsl.Source<T,Mat>,scala.concurrent.Future<scala.runtime.BoxedUnit>> captureTermination(org.apache.pekko.stream.scaladsl.Source<T,Mat> source)
    • captureMaterializationTerminationAndKillSwitch

      public <T, Mat> scala.Tuple4<org.apache.pekko.stream.scaladsl.Source<T,Mat>,scala.concurrent.Future<scala.runtime.BoxedUnit>,scala.concurrent.Future<scala.runtime.BoxedUnit>,org.apache.pekko.stream.KillSwitch> captureMaterializationTerminationAndKillSwitch(org.apache.pekko.stream.scaladsl.Source<T,Mat> source)
    • sliceBytesTransformer

      public org.apache.pekko.stream.scaladsl.Flow<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.NotUsed> sliceBytesTransformer(long start, long length)
    • limitByteChunksStage

      public org.apache.pekko.stream.stage.GraphStage<org.apache.pekko.stream.FlowShape<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString>> limitByteChunksStage(int maxBytesPerChunk)
    • delayCancellation

      public <T> org.apache.pekko.stream.scaladsl.Flow<T,T,org.apache.pekko.NotUsed> delayCancellation(scala.concurrent.duration.Duration cancelAfter)
      INTERNAL API

      Returns a flow that is almost identity but delays propagation of cancellation from downstream to upstream.

      Parameters:
      cancelAfter - (undocumented)
      Returns:
      (undocumented)
    • statefulAttrsMap

      public <T, U> org.apache.pekko.stream.scaladsl.Flow<T,U,org.apache.pekko.NotUsed> statefulAttrsMap(scala.Function1<org.apache.pekko.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. Similar idea than 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.

      Parameters:
      functionConstructor - (undocumented)
      Returns:
      (undocumented)
    • OnlyRunInGraphInterpreterContext

      public org.apache.pekko.stream.Materializer OnlyRunInGraphInterpreterContext()
      Dummy name to signify that the caller asserts that cancelSource is only run from within a GraphInterpreter context
    • cancelSource

      public void cancelSource(org.apache.pekko.stream.scaladsl.Source<?,?> source, org.apache.pekko.stream.Materializer materializer)
      Tries to guess whether a source needs to cancelled and how. In the best case no materialization should be needed.
      Parameters:
      source - (undocumented)
      materializer - (undocumented)
    • transformEntityStream

      public <T extends HttpEntity, M> scala.Tuple2<T,M> transformEntityStream(T entity, StreamUtils.EntityStreamOp<M> streamOp)
    • handleIOResult

      public scala.concurrent.Future<org.apache.pekko.stream.IOResult> handleIOResult(org.apache.pekko.stream.IOResult ioResult)
      Small helper necessary to deal with errors happening during IO operations like FileIO.toPath. In these operations, a failure during writing data will be turn into a successful IOResult containing a nested failure.

      Here we make sure to unnest errors.

      Can be removed when https://github.com/akka/akka/issues/23951 is finally fixed.

      Parameters:
      ioResult - (undocumented)
      Returns:
      (undocumented)
    • encodeErrorAndComplete

      public <T> org.apache.pekko.stream.scaladsl.Flow<T,T,org.apache.pekko.NotUsed> encodeErrorAndComplete(scala.Function1<Throwable,T> f)