-
public interface IoMultiCreate reactive stream from standard IO resources.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classIoMulti.MultiFromByteChannelBuilderFluent API builder for creating aMultifrom aReadableByteChannel.static classIoMulti.MultiFromInputStreamBuilderFluent API builder for creating aMultifrom anInputStream.static classIoMulti.MultiToByteChannelBuilderFluent API builder for creating a subscriber consumingMulti<ByteBuffer>toWritableByteChannel.static classIoMulti.OutputStreamMultiBuilderFluent API builder forOutputStreamMulti.
-
Method Summary
All Methods Static Methods Deprecated Methods Modifier and Type Method Description static IoMulti.MultiFromInputStreamBuilderbuilderInputStream(InputStream inputStream)Deprecated, for removal: This API element is subject to removal in a future version.Please usemultiFromStreamBuilder(java.io.InputStream)static IoMulti.OutputStreamMultiBuilderbuilderOutputStream()Deprecated, for removal: This API element is subject to removal in a future version.Please useoutputStreamMultiBuilder()static Multi<ByteBuffer>createInputStream(InputStream inputStream)Deprecated, for removal: This API element is subject to removal in a future version.please usemultiFromStream(java.io.InputStream)static OutputStreamMulticreateOutputStream()Deprecated, for removal: This API element is subject to removal in a future version.Please useoutputStreamMulti()static Multi<ByteBuffer>multiFromByteChannel(ReadableByteChannel byteChannel)Creates a multi that reads data from the provided byte channel.static IoMulti.MultiFromByteChannelBuildermultiFromByteChannelBuilder(ReadableByteChannel byteChannel)Creates a builder ofMultifrom providedReadableByteChannel.static Multi<ByteBuffer>multiFromStream(InputStream inputStream)static IoMulti.MultiFromInputStreamBuildermultiFromStreamBuilder(InputStream inputStream)Creates a builder of theMultifrom suppliedInputStream.static Function<? super Multi<ByteBuffer>,? extends Single<Void>>multiToByteChannel(WritableByteChannel writableChannel)Creates function consumingMulti<ByteBuffer>to suppliedWritableByteChannel.static IoMulti.MultiToByteChannelBuildermultiToByteChannelBuilder(WritableByteChannel byteChannel)Creates function consumingMulti<ByteBuffer>to suppliedWritableByteChannel.static OutputStreamMultioutputStreamMulti()Create anOutputStreamthat provides the data written as aMulti.static IoMulti.OutputStreamMultiBuilderoutputStreamMultiBuilder()Creates a builder of theOutputStreamthat provides data written as aMulti.static IoMulti.MultiToByteChannelBuilderwriteToFile(Path filePath)
-
-
-
Method Detail
-
createOutputStream
@Deprecated(since="2.0.0", forRemoval=true) static OutputStreamMulti createOutputStream()
Deprecated, for removal: This API element is subject to removal in a future version.Please useoutputStreamMulti()Create anOutputStreamthat provides the data written as aMulti.In case there is no demand,
OutputStream.write(byte[], int, int)methods are blocked until downstream request for more data.- Returns:
- new
Multipublisher extendingOutputStream
-
outputStreamMulti
static OutputStreamMulti outputStreamMulti()
Create anOutputStreamthat provides the data written as aMulti.In case there is no demand,
OutputStream.write(byte[], int, int)methods are blocked until downstream request for more data.- Returns:
- new
OutputStreamimplementingMulti
-
builderOutputStream
@Deprecated(since="2.0.0", forRemoval=true) static IoMulti.OutputStreamMultiBuilder builderOutputStream()
Deprecated, for removal: This API element is subject to removal in a future version.Please useoutputStreamMultiBuilder()Creates a builder of theOutputStreamthat provides data written as aMulti.- Returns:
- the builder
- See Also:
outputStreamMulti()
-
outputStreamMultiBuilder
static IoMulti.OutputStreamMultiBuilder outputStreamMultiBuilder()
Creates a builder of theOutputStreamthat provides data written as aMulti.- Returns:
- the builder
- See Also:
outputStreamMulti()
-
createInputStream
@Deprecated(since="2.0.0", forRemoval=true) static Multi<ByteBuffer> createInputStream(InputStream inputStream)
Deprecated, for removal: This API element is subject to removal in a future version.please usemultiFromStream(java.io.InputStream)Create aMultiinstance that publishesByteBuffers from the givenInputStream.InputStreamis trusted not to block on read operations, in case it can't be assured use builder to specify executor for asynchronous waiting for blocking reads.IoMulti.builder(is).executor(executorService).build().- Parameters:
inputStream- the Stream to publish- Returns:
- Multi
- Throws:
NullPointerException- ifstreamisnull
-
multiFromStream
static Multi<ByteBuffer> multiFromStream(InputStream inputStream)
Create aMultiinstance that publishesByteBuffers from the givenInputStream.InputStreamis trusted not to block on read operations, in case it can't be assured use builder to specify executor for asynchronous waiting for blocking reads.IoMulti.builder(is).executor(executorService).build().- Parameters:
inputStream- the Stream to publish- Returns:
- Multi
-
builderInputStream
@Deprecated(since="2.0.0", forRemoval=true) static IoMulti.MultiFromInputStreamBuilder builderInputStream(InputStream inputStream)
Deprecated, for removal: This API element is subject to removal in a future version.Please usemultiFromStreamBuilder(java.io.InputStream)Creates a builder of theMultifrom suppliedInputStream.- Parameters:
inputStream- the Stream to publish- Returns:
- the builder
-
multiFromStreamBuilder
static IoMulti.MultiFromInputStreamBuilder multiFromStreamBuilder(InputStream inputStream)
Creates a builder of theMultifrom suppliedInputStream.- Parameters:
inputStream- the Stream to publish- Returns:
- the builder
-
multiFromByteChannel
static Multi<ByteBuffer> multiFromByteChannel(ReadableByteChannel byteChannel)
Creates a multi that reads data from the provided byte channel. The multi uses an executor service to process asynchronous reads. You can provide a custom executor service usingmultiFromByteChannelBuilder(java.nio.channels.ReadableByteChannel).- Parameters:
byteChannel- readable byte channel with data- Returns:
- publisher of data from the provided channel
-
multiToByteChannel
static Function<? super Multi<ByteBuffer>,? extends Single<Void>> multiToByteChannel(WritableByteChannel writableChannel)
Creates function consumingMulti<ByteBuffer>to suppliedWritableByteChannel.
Example usage:Multi.create(listOfByteBuffers) .map(s -> ByteBuffer.wrap(s.getBytes(StandardCharsets.UTF_8))) .to(IoMulti.multiToByteChannel(fileChannel)) .await();- Parameters:
writableChannel- for consuming ByteBuffers from upstream- Returns:
- mapper consuming
Multi<ByteBuffer>and returning Single for observing asynchronous writing.
-
multiToByteChannelBuilder
static IoMulti.MultiToByteChannelBuilder multiToByteChannelBuilder(WritableByteChannel byteChannel)
Creates function consumingMulti<ByteBuffer>to suppliedWritableByteChannel.
Example usage:Multi.create(listOfByteBuffers) .map(s -> ByteBuffer.wrap(s.getBytes(StandardCharsets.UTF_8))) .to(IoMulti.multiToByteChannelBuilder(fileChannel) .executor(customExecutor) .build()) .await();- Parameters:
byteChannel- for consuming ByteBuffers from upstream- Returns:
- mapper consuming
Multi<ByteBuffer>and returning Single for observing asynchronous writing.
-
writeToFile
static IoMulti.MultiToByteChannelBuilder writeToFile(Path filePath)
Creates function consumingMulti<ByteBuffer>toFileChannelopened from suppliedPath.
Example usage:Multi.create(listOfByteBuffers) .map(s -> ByteBuffer.wrap(s.getBytes(StandardCharsets.UTF_8))) .to(IoMulti.writeToFile(path) .executor(customExecutor) .build()) .await();- Parameters:
filePath- file for writing all ByteBuffers from upstream to- Returns:
- mapper consuming
Multi<ByteBuffer>and returning Single for observing asynchronous writing.
-
multiFromByteChannelBuilder
static IoMulti.MultiFromByteChannelBuilder multiFromByteChannelBuilder(ReadableByteChannel byteChannel)
Creates a builder ofMultifrom providedReadableByteChannel.- Parameters:
byteChannel- readable byte channel with data- Returns:
- fluent API builder to configure additional details
-
-