org.jclouds.openstack.swift.blobstore.strategy.internal
Class ParallelMultipartUploadStrategy

java.lang.Object
  extended by org.jclouds.openstack.swift.blobstore.strategy.internal.ParallelMultipartUploadStrategy
All Implemented Interfaces:
AsyncMultipartUploadStrategy

public class ParallelMultipartUploadStrategy
extends Object
implements AsyncMultipartUploadStrategy


Field Summary
protected  SwiftAsyncBlobStore ablobstore
           
protected  org.jclouds.logging.Logger logger
           
protected  Long maxTime
          maximum duration of an blob Request
static String PART_SEPARATOR
           
protected  org.jclouds.io.PayloadSlicer slicer
           
 
Constructor Summary
ParallelMultipartUploadStrategy(SwiftAsyncBlobStore ablobstore, org.jclouds.io.PayloadSlicer slicer, ExecutorService ioWorkerExecutor)
           
 
Method Summary
 com.google.common.util.concurrent.ListenableFuture<String> execute(String container, org.jclouds.blobstore.domain.Blob blob, org.jclouds.blobstore.options.PutOptions options, BlobToObject blob2Object)
           
protected  void prepareUploadPart(String container, org.jclouds.blobstore.domain.Blob blob, String key, Integer part, org.jclouds.io.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.openstack.swift.blobstore.strategy.internal.ParallelMultipartUploadStrategy.Part> toRetry, CountDownLatch latch, BlobToObject blob2Object)
           
 
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 org.jclouds.logging.Logger logger

PART_SEPARATOR

public static final String PART_SEPARATOR
See Also:
Constant Field Values

maxTime

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


ablobstore

protected final SwiftAsyncBlobStore ablobstore

slicer

protected final org.jclouds.io.PayloadSlicer slicer
Constructor Detail

ParallelMultipartUploadStrategy

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

prepareUploadPart

protected void prepareUploadPart(String container,
                                 org.jclouds.blobstore.domain.Blob blob,
                                 String key,
                                 Integer part,
                                 org.jclouds.io.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.openstack.swift.blobstore.strategy.internal.ParallelMultipartUploadStrategy.Part> toRetry,
                                 CountDownLatch latch,
                                 BlobToObject blob2Object)

execute

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


Copyright © 2009-2012 jclouds. All Rights Reserved.