Interface TransferProgressSnapshot

All Known Implementing Classes:
DefaultTransferProgressSnapshot

@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 transferredBytes() 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.

See Also: