title: AWS S3 Java SDK: RequestClientOptions.setReadLimit
body: <p>If we consider this S3 upload code</p>
  
  <pre><code>val tm: TransferManager = ???
  val putRequest = new PutObjectRequest(bucketName, keyName, inputStream, metaData)
  putRequest.setStorageClass(storageClass)
  putRequest.getRequestClientOptions.setReadLimit(100000)
  tm.upload(putRequest)
  </code></pre>
  
  <p>What is the use of the <code>setReadLimit</code> method? The <a href="http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/RequestClientOptions.html#setReadLimit(int)" rel="nofollow">AWS SDK Javadoc</a> contains the following description:</p>
  
  <p><em>Sets the optional mark-and-reset read limit used for signing and retry purposes.
  See Also:
  InputStream.mark(int)</em></p>
  
  <p>Is my assumption correct in that it is to provide some kind of "checkpointing", such that if the network fails in the middle of an upload process, the API will (internally) perform a retry from the last "marked" position instead of from the beginning of the file?</p>