object StreamConverters
Converters for interacting with the blocking java.io
streams APIs and Java 8 Streams
- Source
- StreamConverters.scala
- Alphabetic
- By Inheritance
- StreamConverters
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
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 default dispatcher for this Source by changing the
akka.stream.materializer.blocking-io-dispatcher
or set it for a given Source by using akka.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
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
asJavaStream[T](): Sink[T, Stream[T]]
Creates a sink which materializes into Java 8
that can be run to trigger demand through the sink.Stream
Creates a sink which materializes into Java 8
that can be run to trigger demand through the sink. Elements emitted through the stream will be available for reading through the Java 8Stream
.Stream
The Java 8
will be ended when the stream flowing into thisStream
completes, and closing the JavaSink
will cancel the inflow of thisStream
.Sink
Java 8
throws exception in case reactive stream failed.Stream
Be aware that Java
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 theStream
.akka.stream.blocking-io-dispatcher
-
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 default dispatcher for this Source by changing the
akka.stream.materializer.blocking-io-dispatcher
or set it for a given Source by using akka.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
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
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 akka.util.ByteString elements. The actual size of emitted elements depends 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
akka.stream.materializer.blocking-io-dispatcher
or set it for a given Source by using akka.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.
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
-
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
uses a stream iterator to get all its elements and send them downstream on demand.Source
Example usage:
Source.fromJavaStream(() => IntStream.rangeClosed(1, 10))
You can use Source.async to create asynchronous boundaries between synchronous Java
and the rest of flow.Stream
-
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
akka.stream.materializer.blocking-io-dispatcher
or set it for a given Source by using akka.stream.ActorAttributes. IfautoFlush
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.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
javaCollector[T, R](collectorFactory: () ⇒ Collector[T, _, R]): Sink[T, Future[R]]
Creates a sink which materializes into a
which will be completed with result of the Java 8Future
transformation and reduction operations.Collector
Creates a sink which materializes into a
which will be completed with result of the Java 8Future
transformation and reduction operations. This allows usage of Java 8 streams transformations for reactive streams. TheCollector
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. TheCollector
can also do reduction at the end. Reduction processing is performed sequentiallyCollector
Note that a flow can be materialized multiple times, so the function producing the
must be able to handle multiple invocations.Collector
-
def
javaCollectorParallelUnordered[T, R](parallelism: Int)(collectorFactory: () ⇒ Collector[T, _, R]): Sink[T, Future[R]]
Creates a sink which materializes into a
which will be completed with result of the Java 8Future
transformation and reduction operations.Collector
Creates a sink which materializes into a
which will be completed with result of the Java 8Future
transformation and reduction operations. This allows usage of Java 8 streams transformations for reactive streams. TheCollector
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. TheCollector
can also do reduction at the end. Reduction processing is performed in parallel based on graphCollector
.Balance
Note that a flow can be materialized multiple times, so the function producing the
must be able to handle multiple invocations.Collector
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )