java.lang.Object
java.io.InputStream
io.helidon.media.common.DataChunkInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
Provides a bridge between a reactive
Flow.Publisher
in Helidon and an InputStream
in Jersey. It subscribes to a Helidon publisher of data chunks and makes the data available to
Jersey using the blocking InputStream
API.
This implementation is documented here /docs-internal/datachunkinputstream.md
.-
Constructor Summary
ConstructorDescriptionDataChunkInputStream
(Flow.Publisher<DataChunk> originalPublisher) Stores publisher for later subscription.DataChunkInputStream
(Flow.Publisher<DataChunk> originalPublisher, boolean validate) Stores publisher for later subscription and sets if executing thread should be validated. -
Method Summary
Methods inherited from class java.io.InputStream
available, mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
-
Constructor Details
-
DataChunkInputStream
Stores publisher for later subscription. Disables executing thread validation.- Parameters:
originalPublisher
- The original publisher.
-
DataChunkInputStream
Stores publisher for later subscription and sets if executing thread should be validated. If validation is enabled, it asserts if the execution thread is the same as the thread which created this instance and throws anIllegalStateException
if it does.- Parameters:
originalPublisher
- The original publisher.validate
- executing thread validation
-
-
Method Details
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classInputStream
-
read
- Specified by:
read
in classInputStream
- Throws:
IOException
-
read
- Overrides:
read
in classInputStream
- Throws:
IOException
-