Class AbortableInputStreamSubscriber
- java.lang.Object
-
- java.io.InputStream
-
- software.amazon.awssdk.http.async.AbortableInputStreamSubscriber
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,org.reactivestreams.Subscriber<ByteBuffer>
,Abortable
public final class AbortableInputStreamSubscriber extends InputStream implements org.reactivestreams.Subscriber<ByteBuffer>, Abortable
Wrapper ofInputStreamSubscriber
that also implementsAbortable
. It will invokeclose()
whenabort()
is invoked. Upon closing, the underlyingInputStreamSubscriber
will be closed, and additional action can be added viaAbortableInputStreamSubscriber.Builder.doAfterClose(Runnable)
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AbortableInputStreamSubscriber.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abort()
Aborts the execution of the task.static AbortableInputStreamSubscriber.Builder
builder()
void
close()
void
onComplete()
void
onError(Throwable t)
void
onNext(ByteBuffer byteBuffer)
void
onSubscribe(org.reactivestreams.Subscription s)
int
read()
int
read(byte[] b)
int
read(byte[] b, int off, int len)
-
Methods inherited from class java.io.InputStream
available, mark, markSupported, reset, skip
-
-
-
-
Method Detail
-
builder
public static AbortableInputStreamSubscriber.Builder builder()
-
abort
public void abort()
Description copied from interface:Abortable
Aborts the execution of the task. Multiple calls to abort or calling abort an already aborted task should return without error.
-
read
public int read() throws IOException
- Specified by:
read
in classInputStream
- Throws:
IOException
-
read
public int read(byte[] b, int off, int len) throws IOException
- Overrides:
read
in classInputStream
- Throws:
IOException
-
read
public int read(byte[] b) throws IOException
- Overrides:
read
in classInputStream
- Throws:
IOException
-
onSubscribe
public void onSubscribe(org.reactivestreams.Subscription s)
- Specified by:
onSubscribe
in interfaceorg.reactivestreams.Subscriber<ByteBuffer>
-
onNext
public void onNext(ByteBuffer byteBuffer)
- Specified by:
onNext
in interfaceorg.reactivestreams.Subscriber<ByteBuffer>
-
onError
public void onError(Throwable t)
- Specified by:
onError
in interfaceorg.reactivestreams.Subscriber<ByteBuffer>
-
onComplete
public void onComplete()
- Specified by:
onComplete
in interfaceorg.reactivestreams.Subscriber<ByteBuffer>
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classInputStream
-
-