Packages

o

org.apache.pekko.stream.scaladsl

StreamConverters

object StreamConverters

Converters for interacting with the blocking java.io streams APIs and Java 8 Streams

Source
StreamConverters.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StreamConverters
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def asInputStream(readTimeout: FiniteDuration = 5.seconds): Sink[ByteString, InputStream]

    Creates a Sink which when materialized will return an InputStream which it is possible to read the values produced by the stream this Sink is attached to.

    Creates a Sink which when materialized will return an InputStream which it is possible to read the values produced by the stream this Sink is attached to.

    This Sink is intended for inter-operation with legacy APIs since it is inherently blocking.

    You can configure the internal buffer size by using pekko.stream.ActorAttributes.

    The InputStream will be closed when the stream flowing into this Sink completes, and closing the InputStream will cancel this Sink.

    readTimeout

    the max time the read operation on the materialized InputStream should block

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def asJavaStream[T](): Sink[T, Stream[T]]

    Creates a sink which materializes into Java 8 Stream that can be run to trigger demand through the sink.

    Creates a sink which materializes into Java 8 Stream that can be run to trigger demand through the sink. Elements emitted through the stream will be available for reading through the Java 8 Stream.

    The Java 8 Stream will be ended when the stream flowing into this Sink completes, and closing the Java Stream will cancel the inflow of this Sink.

    If the Java 8 Stream throws exception the Pekko stream is cancelled.

    Be aware that Java Stream blocks current thread while waiting on next element from downstream. As it is interacting wit blocking API the implementation runs on a separate dispatcher configured through the pekko.stream.blocking-io-dispatcher.

  7. def asOutputStream(writeTimeout: FiniteDuration = 5.seconds): Source[ByteString, OutputStream]

    Creates a Source which when materialized will return an OutputStream which it is possible to write the ByteStrings to the stream this Source is attached to.

    Creates a Source which when materialized will return an OutputStream which it is possible to write the ByteStrings to the stream this Source is attached to.

    This Source is intended for inter-operation with legacy APIs since it is inherently blocking.

    You can configure the internal buffer size by using pekko.stream.ActorAttributes.

    The created OutputStream will be closed when the Source is cancelled, and closing the OutputStream will complete this Source.

    writeTimeout

    the max time the write operation on the materialized OutputStream should block, defaults to 5 seconds

  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. def fromInputStream(in: () => InputStream, chunkSize: Int = 8192): Source[ByteString, Future[IOResult]]

    Creates a Source from an InputStream created by the given function.

    Creates a Source from an InputStream created by the given function. Emitted elements are up to chunkSize sized pekko.util.ByteString elements. The actual size of the emitted elements depends on how much data the underlying java.io.InputStream returns on each read invocation. Such chunks will never be larger than chunkSize though.

    You can configure the default dispatcher for this Source by changing the pekko.stream.materializer.blocking-io-dispatcher or set it for a given Source by using pekko.stream.ActorAttributes.

    It materializes a Future of IOResult containing the number of bytes read from the source file upon completion, and a possible exception if IO operation was not completed successfully. Note that bytes having been read by the source does not give any guarantee that the bytes were seen by downstream stages.

    The created InputStream will be closed when the Source is cancelled.

    in

    a function which creates the InputStream to read from

    chunkSize

    the size of each read operation, defaults to 8192

  12. def fromJavaStream[T, S <: BaseStream[T, S]](stream: () => BaseStream[T, S]): Source[T, NotUsed]

    Creates a source that wraps a Java 8 Stream.

    Creates a source that wraps a Java 8 Stream. Source uses a stream iterator to get all its elements and send them downstream on demand.

    Example usage: StreamConverters.fromJavaStream(() => IntStream.rangeClosed(1, 10))

    You can use Source.async to create asynchronous boundaries between synchronous Java Stream and the rest of flow.

  13. def fromOutputStream(out: () => OutputStream, autoFlush: Boolean = false): Sink[ByteString, Future[IOResult]]

    Creates a Sink which writes incoming ByteStrings to an OutputStream created by the given function.

    Creates a Sink which writes incoming ByteStrings to an OutputStream created by the given function.

    Materializes a Future of IOResult that will be completed with the size of the file (in bytes) at the streams completion, and a possible exception if IO operation was not completed successfully.

    You can configure the default dispatcher for this Source by changing the pekko.stream.materializer.blocking-io-dispatcher or set it for a given Source by using pekko.stream.ActorAttributes. If autoFlush is true the OutputStream will be flushed whenever a byte array is written, defaults to false.

    The OutputStream will be closed when the stream flowing into this Sink is completed. The Sink will cancel the stream when the OutputStream is no longer writable.

  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. def javaCollector[T, R](collectorFactory: () => Collector[T, _, R]): Sink[T, Future[R]]

    Creates a sink which materializes into a Future which will be completed with result of the Java 8 Collector transformation and reduction operations.

    Creates a sink which materializes into a Future which will be completed with result of the Java 8 Collector transformation and reduction operations. This allows usage of Java 8 streams transformations for reactive streams. The Collector will trigger demand downstream. Elements emitted through the stream will be accumulated into a mutable result container, optionally transformed into a final representation after all input elements have been processed. The Collector can also do reduction at the end. Reduction processing is performed sequentially

    Note that a flow can be materialized multiple times, so the function producing the Collector must be able to handle multiple invocations.

  18. def javaCollectorParallelUnordered[T, R](parallelism: Int)(collectorFactory: () => Collector[T, _, R]): Sink[T, Future[R]]

    Creates a sink which materializes into a Future which will be completed with result of the Java 8 Collector transformation and reduction operations.

    Creates a sink which materializes into a Future which will be completed with result of the Java 8 Collector transformation and reduction operations. This allows usage of Java 8 streams transformations for reactive streams. The Collector will trigger demand downstream. Elements emitted through the stream will be accumulated into a mutable result container, optionally transformed into a final representation after all input elements have been processed. The Collector can also do reduction at the end. Reduction processing is performed in parallel based on graph Balance.

    Note that a flow can be materialized multiple times, so the function producing the Collector must be able to handle multiple invocations.

  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped