/* * Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /** * Transfer management. * <p> * This package provides the {@link com.amazonaws.services.s3.transfer.TransferManager} class, which * manages a queue of asynchronous transfers. Callers can create a TransferManager instance, sharing * that same instance throughout their application, queue new uploads for TransferManager to process, * and continue working while TransferManager tracks the asynchronous upload progress. * <p> * The main benefits of using TransferManager are: * <ul> * <li>Simplified API for working with, querying, and manipulating transfers. * <li>Consistent interface for submitting uploads that abstracts the single part and multipart upload logic. * <li>Increased throughput when multiple parts of an upload can be uploaded to Amazon S3 in parallel. * </ul> * <p> * The AmazonS3TransferProgress sample included in the AWS SDK for Java demonstrates how to use * TransferManager and how to track progress for uploads. * <p> * Using TransferManager to upload data to Amazon S3 is easy: * <pre class="brush: java"> * AWSCredentials myCredentials = new BasicAWSCredentials(...); * TransferManager tx = new TransferManager(myCredentials); * Upload myUpload = tx.upload(myBucket, myFile.getName(), myFile); * * // You can poll your transfer's status to check its progress * if (myUpload.isDone() == false) { * System.out.println("Transfer: " + myUpload.getDescription()); * System.out.println(" - State: " + myUpload.getState()); * System.out.println(" - Progress: " + myUpload.getProgress().getBytesTransferred()); * } * * // Transfers also allow you to set a <code>ProgressListener</code> to receive * // asynchronous notifications about your transfer's progress. * myUpload.addProgressListener(myProgressListener); * * // Or you can block the current thread and wait for your transfer to * // to complete. If the transfer fails, this method will throw a * // SdkClientException or AmazonServiceException detailing the reason. * myUpload.waitForCompletion(); * </pre> * * @see com.amazonaws.services.s3.transfer.TransferManager */ package com.amazonaws.services.s3.transfer;