Class TransferProgressUpdater
java.lang.Object
software.amazon.awssdk.transfer.s3.internal.progress.TransferProgressUpdater
An SDK-internal helper class that facilitates updating a
TransferProgress and invoking TransferListeners.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionPublisherListener<software.amazon.awssdk.crt.s3.S3MetaRequestProgress> voidincrementBytesTransferred(long numBytes) Progress listener for Java-based S3Client with multipart enabled.progress()voidregisterCompletion(CompletableFuture<? extends CompletedObjectTransfer> future) void<ResultT> AsyncResponseTransformer<GetObjectResponse, ResultT> wrapForNonSerialFileDownload(AsyncResponseTransformer<GetObjectResponse, ResultT> responseTransformer, GetObjectRequest request) wrapRequestBody(AsyncRequestBody requestBody, boolean disableIncrementalProgress) Wraps the request body to track upload progress.<ResultT> AsyncResponseTransformer<GetObjectResponse, ResultT> wrapResponseTransformer(AsyncResponseTransformer<GetObjectResponse, ResultT> responseTransformer) <ResultT> AsyncResponseTransformer<GetObjectResponse, ResultT> wrapResponseTransformerForMultipartDownload(AsyncResponseTransformer<GetObjectResponse, ResultT> responseTransformer, GetObjectRequest request)
-
Constructor Details
-
TransferProgressUpdater
-
-
Method Details
-
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
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
-
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
-