public class StreamConverters$
extends java.lang.Object
java.io
streams APIs and Java 8 StreamsModifier and Type | Field and Description |
---|---|
static StreamConverters$ |
MODULE$
Static reference to the singleton instance of this Scala object.
|
Constructor and Description |
---|
StreamConverters$() |
Modifier and Type | Method and Description |
---|---|
Sink<ByteString,java.io.InputStream> |
asInputStream()
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. |
Sink<ByteString,java.io.InputStream> |
asInputStream(scala.concurrent.duration.FiniteDuration readTimeout)
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. |
<T> Sink<T,java.util.stream.Stream<T>> |
asJavaStream()
Creates a sink which materializes into Java 8
Stream that can be run to trigger demand through the sink. |
Source<ByteString,java.io.OutputStream> |
asOutputStream()
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. |
Source<ByteString,java.io.OutputStream> |
asOutputStream(scala.concurrent.duration.FiniteDuration writeTimeout)
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. |
Source<ByteString,java.util.concurrent.CompletionStage<IOResult>> |
fromInputStream(Creator<java.io.InputStream> in)
Creates a Source from an
InputStream created by the given function. |
Source<ByteString,java.util.concurrent.CompletionStage<IOResult>> |
fromInputStream(Creator<java.io.InputStream> in,
int chunkSize)
Creates a Source from an
InputStream created by the given function. |
<O,S extends java.util.stream.BaseStream<O,S>> |
fromJavaStream(Creator<java.util.stream.BaseStream<O,S>> stream)
Creates a source that wraps a Java 8
Stream . |
Sink<ByteString,java.util.concurrent.CompletionStage<IOResult>> |
fromOutputStream(Creator<java.io.OutputStream> f)
Sink which writes incoming
ByteString s to an OutputStream created by the given function. |
Sink<ByteString,java.util.concurrent.CompletionStage<IOResult>> |
fromOutputStream(Creator<java.io.OutputStream> f,
boolean autoFlush)
Sink which writes incoming
ByteString s to an OutputStream created by the given function. |
<T,R> Sink<T,java.util.concurrent.CompletionStage<R>> |
javaCollector(Creator<java.util.stream.Collector<T,?,R>> collector)
Creates a sink which materializes into a
CompletionStage which will be completed with a result of the Java 8 Collector
transformation and reduction operations. |
<T,R> Sink<T,java.util.concurrent.CompletionStage<R>> |
javaCollectorParallelUnordered(int parallelism,
Creator<java.util.stream.Collector<T,?,R>> collector)
Creates a sink which materializes into a
CompletionStage which will be completed with a result of the Java 8 Collector
transformation and reduction operations. |
public static final StreamConverters$ MODULE$
public Sink<ByteString,java.util.concurrent.CompletionStage<IOResult>> fromOutputStream(Creator<java.io.OutputStream> f)
ByteString
s to an OutputStream
created by the given function.
Materializes a CompletionStage
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.blocking-io-dispatcher
or
set it for a given Source by using ActorAttributes
.
This method uses no auto flush for the OutputStream
@see #fromOutputStream(function.Creator, Boolean)
if you want to override it.
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.
f
- A Creator which creates an OutputStream to write topublic Sink<ByteString,java.util.concurrent.CompletionStage<IOResult>> fromOutputStream(Creator<java.io.OutputStream> f, boolean autoFlush)
ByteString
s to an OutputStream
created by the given function.
Materializes a CompletionStage
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.blocking-io-dispatcher
or
set it for a given Source by using ActorAttributes
.
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.
f
- A Creator which creates an OutputStream to write toautoFlush
- If true the OutputStream will be flushed whenever a byte array is writtenpublic Sink<ByteString,java.io.InputStream> asInputStream()
InputStream
which it is possible
to read the values produced by the stream this Sink is attached to.
This method uses a default read timeout, use #inputStream(FiniteDuration)
to explicitly
configure the timeout.
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.blocking-io-dispatcher
or
set it for a given Source by using ActorAttributes
.
The InputStream
will be closed when the stream flowing into this Sink
completes, and
closing the InputStream
will cancel this Sink
.
public Sink<ByteString,java.io.InputStream> asInputStream(scala.concurrent.duration.FiniteDuration readTimeout)
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.blocking-io-dispatcher
or
set it for a given Source by using 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 blockpublic Source<ByteString,java.util.concurrent.CompletionStage<IOResult>> fromInputStream(Creator<java.io.InputStream> in, int chunkSize)
InputStream
created by the given function.
Emitted elements are chunkSize
sized ByteString
elements,
except the final element, which will be up to chunkSize
in size.
You can configure the default dispatcher for this Source by changing the akka.stream.blocking-io-dispatcher
or
set it for a given Source by using ActorAttributes
.
It materializes a CompletionStage
containing the number of bytes read from the source file upon completion.
The created InputStream
will be closed when the Source
is cancelled.
in
- (undocumented)chunkSize
- (undocumented)public Source<ByteString,java.util.concurrent.CompletionStage<IOResult>> fromInputStream(Creator<java.io.InputStream> in)
InputStream
created by the given function.
Emitted elements are ByteString
elements, chunked by default by 8192 bytes,
except the last element, which will be up to 8192 in size.
You can configure the default dispatcher for this Source by changing the akka.stream.blocking-io-dispatcher
or
set it for a given Source by using ActorAttributes
.
It materializes a CompletionStage
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
- (undocumented)public Source<ByteString,java.io.OutputStream> asOutputStream(scala.concurrent.duration.FiniteDuration writeTimeout)
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.blocking-io-dispatcher
or
set it for a given Source by using 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 blockpublic Source<ByteString,java.io.OutputStream> asOutputStream()
OutputStream
which it is possible
to write the ByteStrings to the stream this Source is attached to. The write timeout for OutputStreams
materialized will default to 5 seconds, @see #outputStream(FiniteDuration)
if you want to override it.
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.blocking-io-dispatcher
or
set it for a given Source by using ActorAttributes
.
The created OutputStream
will be closed when the Source
is cancelled, and closing the OutputStream
will complete this Source
.
public <T> Sink<T,java.util.stream.Stream<T>> asJavaStream()
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
.
Java 8 Stream
throws exception in case reactive stream failed.
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
akka.stream.blocking-io-dispatcher
.
public <O,S extends java.util.stream.BaseStream<O,S>> Source<O,NotUsed> fromJavaStream(Creator<java.util.stream.BaseStream<O,S>> stream)
Stream
.
Source
uses a stream iterator to get all its
elements and send them downstream on demand.
Example usage: Source.fromJavaStream(() -> IntStream.rangeClosed(1, 10))
You can use Source.async
to create asynchronous boundaries between synchronous java stream
and the rest of flow.
stream
- (undocumented)public <T,R> Sink<T,java.util.concurrent.CompletionStage<R>> javaCollector(Creator<java.util.stream.Collector<T,?,R>> collector)
CompletionStage
which will be completed with a 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.
collector
- (undocumented)public <T,R> Sink<T,java.util.concurrent.CompletionStage<R>> javaCollectorParallelUnordered(int parallelism, Creator<java.util.stream.Collector<T,?,R>> collector)
CompletionStage
which will be completed with a 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.
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.
parallelism
- (undocumented)collector
- (undocumented)