Class TransferProgressUpdater
- java.lang.Object
-
- software.amazon.awssdk.transfer.s3.internal.progress.TransferProgressUpdater
-
@SdkInternalApi public class TransferProgressUpdater extends Object
An SDK-internal helper class that facilitates updating aTransferProgressand invokingTransferListeners.
-
-
Constructor Summary
Constructors Constructor Description TransferProgressUpdater(TransferObjectRequest request, Long contentLength)
-
Method Summary
-
-
-
Constructor Detail
-
TransferProgressUpdater
public TransferProgressUpdater(TransferObjectRequest request, Long contentLength)
-
-
Method Detail
-
progress
public TransferProgress progress()
-
transferInitiated
public void transferInitiated()
-
wrapRequestBody
public AsyncRequestBody wrapRequestBody(AsyncRequestBody requestBody, boolean disableIncrementalProgress)
Wraps the request body to track upload progress.- Parameters:
requestBody- the original request bodydisableIncrementalProgress- whentrue, the wrapper will not report byte-level progress. This is used for in-memory byte bodies because all bytes are delivered to the publisher instantly and progress would jump to 100% before any data is sent over the wire.
-
multipartClientProgressListener
public PublisherListener<Long> multipartClientProgressListener()
Progress listener for Java-based S3Client with multipart enabled.For multipart uploads, this is the primary source of progress since the wrapper body is bypassed by
splitCloseable. For single-chunk uploads viauploadInOneChunk, this listener reports progress after the server responds.
-
crtProgressListener
public PublisherListener<software.amazon.awssdk.crt.s3.S3MetaRequestProgress> crtProgressListener()
-
wrapResponseTransformerForMultipartDownload
public <ResultT> AsyncResponseTransformer<GetObjectResponse,ResultT> wrapResponseTransformerForMultipartDownload(AsyncResponseTransformer<GetObjectResponse,ResultT> responseTransformer, GetObjectRequest request)
-
wrapForNonSerialFileDownload
public <ResultT> AsyncResponseTransformer<GetObjectResponse,ResultT> wrapForNonSerialFileDownload(AsyncResponseTransformer<GetObjectResponse,ResultT> responseTransformer, GetObjectRequest request)
-
wrapResponseTransformer
public <ResultT> AsyncResponseTransformer<GetObjectResponse,ResultT> wrapResponseTransformer(AsyncResponseTransformer<GetObjectResponse,ResultT> responseTransformer)
-
incrementBytesTransferred
public void incrementBytesTransferred(long numBytes)
-
registerCompletion
public void registerCompletion(CompletableFuture<? extends CompletedObjectTransfer> future)
-
-