public class S3ObjectInputStream extends com.amazonaws.internal.SdkFilterInputStream
S3Object
. In addition to
the methods supplied by the InputStream
class,
S3ObjectInputStream
supplies the abort() method, which will terminate
an HTTP connection to the S3 object.in
Constructor and Description |
---|
S3ObjectInputStream(InputStream in,
org.apache.http.client.methods.HttpRequestBase httpRequest) |
S3ObjectInputStream(InputStream in,
org.apache.http.client.methods.HttpRequestBase httpRequest,
boolean collectMetrics) |
Modifier and Type | Method and Description |
---|---|
void |
abort()
Aborts the underlying http request without reading any more data and
closes the stream.
|
int |
available()
Returns super.available() if the value is not zero or else always returns
1.
|
void |
close()
Delegate to
abort() if there is data remaining in the stream. |
org.apache.http.client.methods.HttpRequestBase |
getHttpRequest()
Returns the http request from which this input stream is derived.
|
int |
read() |
int |
read(byte[] b) |
int |
read(byte[] b,
int off,
int len) |
void |
reset() |
abortIfNeeded, isMetricActivated, mark, markSupported, release, skip
public S3ObjectInputStream(InputStream in, org.apache.http.client.methods.HttpRequestBase httpRequest)
public S3ObjectInputStream(InputStream in, org.apache.http.client.methods.HttpRequestBase httpRequest, boolean collectMetrics)
public void abort()
By default Apache HttpClient
tries to reuse http connections by
reading to the end of an attached input stream on
InputStream.close()
. This is efficient from a socket pool
management perspective, but for objects with large payloads can incur
significant overhead while bytes are read from s3 and discarded. It's up
to clients to decide when to take the performance hit implicit in not
reusing an http connection in order to not read unnecessary information
from S3.
abort
in class com.amazonaws.internal.SdkFilterInputStream
EofSensorInputStream
public org.apache.http.client.methods.HttpRequestBase getHttpRequest()
public int available() throws IOException
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7036144
Reference TT: 0034867351
available
in class com.amazonaws.internal.SdkFilterInputStream
IOException
public int read() throws IOException
read
in class com.amazonaws.internal.SdkFilterInputStream
IOException
public int read(byte[] b) throws IOException
read
in class FilterInputStream
IOException
public int read(byte[] b, int off, int len) throws IOException
read
in class com.amazonaws.internal.SdkFilterInputStream
IOException
public void reset() throws IOException
reset
in class com.amazonaws.internal.SdkFilterInputStream
IOException
public void close() throws IOException
abort()
if there is data remaining in the stream. If the stream has been
read completely, with no data remaining, safely close the stream.close
in interface Closeable
close
in interface AutoCloseable
close
in class com.amazonaws.internal.SdkFilterInputStream
IOException
S3ObjectInputStream#abort()}
Copyright © 2016. All rights reserved.