org.jclouds.aws.s3.blobstore.strategy.internal
Class ParallelMultipartUploadStrategy

java.lang.Object
  extended by org.jclouds.aws.s3.blobstore.strategy.internal.ParallelMultipartUploadStrategy
All Implemented Interfaces:
AsyncMultipartUploadStrategy, MultipartUpload

public class ParallelMultipartUploadStrategy
extends Object
implements AsyncMultipartUploadStrategy


Field Summary
protected  AWSS3AsyncBlobStore ablobstore
           
protected  Logger logger
           
protected  Long maxTime
          maximum duration of an blob Request
protected  PayloadSlicer slicer
           
 
Fields inherited from interface org.jclouds.aws.s3.blobstore.strategy.MultipartUpload
MAX_LIST_MPU_RETURNED, MAX_LIST_PARTS_RETURNED, MAX_NUMBER_OF_PARTS, MAX_PART_SIZE, MIN_PART_SIZE
 
Constructor Summary
ParallelMultipartUploadStrategy(AWSS3AsyncBlobStore ablobstore, PayloadSlicer slicer, ExecutorService ioWorkerExecutor)
           
 
Method Summary
 com.google.common.util.concurrent.ListenableFuture<String> execute(String container, Blob blob, PutOptions options)
           
protected  void prepareUploadPart(String container, String key, String uploadId, Integer part, Payload payload, long offset, long size, SortedMap<Integer,String> etags, BlockingQueue<Integer> activeParts, Map<Integer,com.google.common.util.concurrent.ListenableFuture<String>> futureParts, AtomicInteger errors, int maxRetries, Map<Integer,Exception> errorMap, Queue<org.jclouds.aws.s3.blobstore.strategy.internal.ParallelMultipartUploadStrategy.Part> toRetry, CountDownLatch latch)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

@Named(value="jclouds.blobstore")
protected Logger logger

maxTime

@Inject(optional=true)
@Named(value="jclouds.request-timeout")
protected Long maxTime
maximum duration of an blob Request


ablobstore

protected final AWSS3AsyncBlobStore ablobstore

slicer

protected final PayloadSlicer slicer
Constructor Detail

ParallelMultipartUploadStrategy

@Inject
public ParallelMultipartUploadStrategy(AWSS3AsyncBlobStore ablobstore,
                                              PayloadSlicer slicer,
                                              @Named(value="jclouds.io-worker-threads")
                                              ExecutorService ioWorkerExecutor)
Method Detail

prepareUploadPart

protected void prepareUploadPart(String container,
                                 String key,
                                 String uploadId,
                                 Integer part,
                                 Payload payload,
                                 long offset,
                                 long size,
                                 SortedMap<Integer,String> etags,
                                 BlockingQueue<Integer> activeParts,
                                 Map<Integer,com.google.common.util.concurrent.ListenableFuture<String>> futureParts,
                                 AtomicInteger errors,
                                 int maxRetries,
                                 Map<Integer,Exception> errorMap,
                                 Queue<org.jclouds.aws.s3.blobstore.strategy.internal.ParallelMultipartUploadStrategy.Part> toRetry,
                                 CountDownLatch latch)

execute

public com.google.common.util.concurrent.ListenableFuture<String> execute(String container,
                                                                          Blob blob,
                                                                          PutOptions options)
Specified by:
execute in interface AsyncMultipartUploadStrategy


Copyright © 2009-2012 jclouds. All Rights Reserved.