public final class ParallelTransferOptions extends Object
Constructor and Description |
---|
ParallelTransferOptions(Integer blockSize,
Integer numBuffers,
ProgressReceiver progressReceiver)
Creates a new
ParallelTransferOptions with default parameters applied. |
ParallelTransferOptions(Integer blockSize,
Integer numBuffers,
ProgressReceiver progressReceiver,
Integer maxSingleUploadSize)
Creates a new
ParallelTransferOptions with default parameters applied. |
Modifier and Type | Method and Description |
---|---|
Integer |
getBlockSize()
Gets the block size (chunk size) to transfer at a time.
|
Integer |
getMaxSingleUploadSize()
Gets the value above which the upload will be broken into blocks and parallelized.
|
Integer |
getNumBuffers()
Gets the number of buffers being used for a transfer operation.
|
ProgressReceiver |
getProgressReceiver()
Gets the Progress receiver for parallel reporting
|
public ParallelTransferOptions(Integer blockSize, Integer numBuffers, ProgressReceiver progressReceiver)
ParallelTransferOptions
with default parameters applied.blockSize
- The block size.
For upload, The block size is the size of each block that will be staged. This value also determines the number
of requests that need to be made. If block size is large, upload will make fewer network calls, but each
individual call will send more data and will therefore take longer. This parameter also determines the size
that each buffer uses when buffering is required and consequently amount of memory consumed by such methods may
be up to blockSize * numBuffers.numBuffers
- For buffered upload only, the number of buffers is the maximum number of buffers this method
should allocate. Memory will be allocated lazily as needed. Must be at least two. Typically, the larger the
number of buffers, the more parallel, and thus faster, the upload portion of this operation will be.
The amount of memory consumed by methods using this value may be up to blockSize * numBuffers.progressReceiver
- ProgressReceiver
public ParallelTransferOptions(Integer blockSize, Integer numBuffers, ProgressReceiver progressReceiver, Integer maxSingleUploadSize)
ParallelTransferOptions
with default parameters applied.blockSize
- The block size.
For upload, The block size is the size of each block that will be staged. This value also determines the number
of requests that need to be made. If block size is large, upload will make fewer network calls, but each
individual call will send more data and will therefore take longer. This parameter also determines the size
that each buffer uses when buffering is required and consequently amount of memory consumed by such methods may
be up to blockSize * numBuffers.numBuffers
- For buffered upload only, the number of buffers is the maximum number of buffers this method
should allocate. Memory will be allocated lazily as needed. Must be at least two. Typically, the larger the
number of buffers, the more parallel, and thus faster, the upload portion of this operation will be.
The amount of memory consumed by methods using this value may be up to blockSize * numBuffers.progressReceiver
- ProgressReceiver
maxSingleUploadSize
- If the size of the data is less than or equal to this value, it will be uploaded in a
single put rather than broken up into chunks. If the data is uploaded in a single shot, the block size will be
ignored. Some constraints to consider are that more requests cost more, but several small or mid-sized requests
may sometimes perform better. In the case of buffered upload, up to this amount of data may be buffered before
any data is sent. Must be greater than 0. May be null to accept default behavior, which is the maximum value the
service accepts for uploading in a single requests and is represented by
BlockBlobAsyncClient.MAX_UPLOAD_BLOB_BYTES
.public Integer getBlockSize()
public Integer getNumBuffers()
public ProgressReceiver getProgressReceiver()
public Integer getMaxSingleUploadSize()
Copyright © 2020 Microsoft Corporation. All rights reserved.