@Immutable @ThreadSafe public interface TransferProgressSnapshot
TransferProgressSnapshot is an immutable, point-in-time representation of the progress of a given transfer
initiated by S3TransferManager. TransferProgressSnapshot offers several helpful methods for checking the
progress of a transfer, like bytesTransferred() and ratioTransferred().
TransferProgressSnapshot's methods that return Optional are dependent upon the size of a transfer (i.e., the
Content-Length) being known. In the case of file-based FileUploads, transfer sizes are known up front and
immediately available. In the case of Downloads, the transfer size is not known until S3TransferManager
receives a GetObjectResponse from Amazon S3.
The recommended way to receive updates of the latest TransferProgressSnapshot is to implement the TransferListener interface. See the TransferListener documentation for usage instructions. A TransferProgressSnapshot can also be obtained from a TransferProgress returned as part of the result from a TransferRequest.
TransferProgress,
TransferListener,
S3TransferManager| Modifier and Type | Method and Description |
|---|---|
Optional<Long> |
bytesRemaining()
The total number of bytes that are remaining to be transferred, or
Optional.empty() if unknown. |
long |
bytesTransferred()
The total number of bytes that have been transferred so far.
|
Optional<Double> |
ratioTransferred()
The ratio of the
transferSizeInBytes() that has been transferred so far, or Optional.empty() if unknown. |
Optional<Long> |
transferSizeInBytes()
The total size of the transfer, in bytes, or
Optional.empty() if unknown. |
long bytesTransferred()
Optional<Long> transferSizeInBytes()
Optional.empty() if unknown.
In the case of file-based FileUploads, transfer sizes are known up front and immediately available. In the case of
Downloads, the transfer size is not known until S3TransferManager receives a GetObjectResponse from
Amazon S3.
Optional<Double> ratioTransferred()
transferSizeInBytes() that has been transferred so far, or Optional.empty() if unknown.
This method depends on the transferSizeInBytes() being known in order to return non-empty.
Ratio is computed as bytesTransferred() / transferSizeInBytes(), where a transfer that is
half-complete would return 0.5.
transferSizeInBytes()Optional<Long> bytesRemaining()
Optional.empty() if unknown. This method depends
on the transferSizeInBytes() being known in order to return non-empty.transferSizeInBytes()Copyright © 2022. All rights reserved.