StreamConverters.asOutputStream
Create a source that materializes into an OutputStream
.
Additional Sink and Source converters
Signature¶
StreamConverters.asOutputStream
Description¶
Create a source that materializes into an OutputStream
. When bytes are written to the OutputStream
they are emitted from the source.
The OutputStream
will no longer be writable when the Source
has been canceled from its downstream, and closing the OutputStream
will complete the Source
.
Reactive Streams semantics¶
emits when bytes are written to the OutputStream
completes when the OutputStream
is closed
Example¶
Here is an example of a Source
that materializes into a java.io.OutputStream
, and is connected to a Sink which concatenates the incoming ByteString
s
sourceval source: Source[ByteString, OutputStream] = StreamConverters.asOutputStream()
val sink: Sink[ByteString, Future[ByteString]] = Sink.fold[ByteString, ByteString](ByteString.empty)(_ ++ _)
val (outputStream, result): (OutputStream, Future[ByteString]) =
source.toMat(sink)(Keep.both).run()
sourcefinal Source<ByteString, OutputStream> source = StreamConverters.asOutputStream();
final Sink<ByteString, CompletionStage<ByteString>> sink =
Sink.fold(emptyByteString(), (ByteString arg1, ByteString arg2) -> arg1.concat(arg2));
final Pair<OutputStream, CompletionStage<ByteString>> output =
source.toMat(sink, Keep.both()).run(system);
1.2.0-M1+35-3d489313*