com.amazonaws.services.s3.model
Class S3ObjectInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.FilterInputStream
          extended by com.amazonaws.internal.SdkFilterInputStream
              extended by com.amazonaws.services.s3.model.S3ObjectInputStream
All Implemented Interfaces:
com.amazonaws.internal.MetricAware, Closeable

public class S3ObjectInputStream
extends com.amazonaws.internal.SdkFilterInputStream

Input stream representing the content of an 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.


Field Summary
 
Fields inherited from class java.io.FilterInputStream
in
 
Constructor Summary
S3ObjectInputStream(InputStream in, org.apache.http.client.methods.HttpRequestBase httpRequest)
           
S3ObjectInputStream(InputStream in, org.apache.http.client.methods.HttpRequestBase httpRequest, boolean collectMetrics)
           
 
Method Summary
 void abort()
           Aborts the underlying http request without reading any more data and closes the stream.
 org.apache.http.client.methods.HttpRequestBase getHttpRequest()
          Returns the http request from which this input stream is derived.
 
Methods inherited from class com.amazonaws.internal.SdkFilterInputStream
abortIfNeeded, available, close, isMetricActivated, mark, markSupported, read, read, reset, skip
 
Methods inherited from class java.io.FilterInputStream
read
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

S3ObjectInputStream

public S3ObjectInputStream(InputStream in,
                           org.apache.http.client.methods.HttpRequestBase httpRequest)

S3ObjectInputStream

public S3ObjectInputStream(InputStream in,
                           org.apache.http.client.methods.HttpRequestBase httpRequest,
                           boolean collectMetrics)
Method Detail

abort

public void abort()
Aborts the underlying http request without reading any more data and closes the stream.

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.

Overrides:
abort in class com.amazonaws.internal.SdkFilterInputStream
See Also:
EofSensorInputStream

getHttpRequest

public org.apache.http.client.methods.HttpRequestBase getHttpRequest()
Returns the http request from which this input stream is derived.



Copyright © 2016. All rights reserved.