public final class ParallelTransferOptions extends Object
| Constructor and Description |
|---|
ParallelTransferOptions()
Creates a new
ParallelTransferOptions with default parameters applied. |
ParallelTransferOptions(Integer blockSize,
Integer maxConcurrency,
ProgressReceiver progressReceiver,
Integer maxSingleUploadSize)
Deprecated.
Use fluent interface to set properties instead.
|
| Modifier and Type | Method and Description |
|---|---|
Integer |
getBlockSize()
Deprecated.
|
Long |
getBlockSizeLong()
Gets the block size (chunk size) to transfer at a time.
|
Integer |
getMaxConcurrency()
Gets the maximum number of parallel requests that will be issued at any given time.
|
Integer |
getMaxSingleUploadSize()
Deprecated.
|
Long |
getMaxSingleUploadSizeLong()
Gets the value above which the upload will be broken into blocks and parallelized.
|
Integer |
getNumBuffers()
Deprecated.
|
ProgressReceiver |
getProgressReceiver()
Gets the Progress receiver for parallel reporting
|
ParallelTransferOptions |
setBlockSizeLong(Long blockSize)
Sets the block size.
|
ParallelTransferOptions |
setMaxConcurrency(Integer maxConcurrency) |
ParallelTransferOptions |
setMaxSingleUploadSizeLong(Long 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.
|
ParallelTransferOptions |
setProgressReceiver(ProgressReceiver progressReceiver)
Sets the
ProgressReceiver. |
public ParallelTransferOptions()
ParallelTransferOptions with default parameters applied.@Deprecated public ParallelTransferOptions(Integer blockSize, Integer maxConcurrency, 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. 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.
For download to file, the block size is the size of each data chunk returned from the service.
For both applications, If block size is large, upload will make fewer network calls, but each
individual call will send more data and will therefore take longer.maxConcurrency - The maximum number of parallel requests that will be issued at any given time as a part of
a single parallel transfer. This value applies per api. For example, if two calls to uploadFromFile are made at
the same time, and each specifies a maxConcurrency of 5, there may be up to 10 outstanding, concurrent requests,
up to 5 for each of the upload operations. For buffered uploads only, the maximum number of buffers to be
allocated as part of the transfer will be maxConcurrency + 1. In those cases, memory will be allocated
lazily as needed. The amount of memory consumed by methods which buffer may be up to blockSize * maxConcurrency.
In general, upload methods which do not accept a length parameter must perform some buffering.progressReceiver - ProgressReceivermaxSingleUploadSize - 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, which varies depending on the service.@Deprecated public Integer getBlockSize()
ParallelTransferOptions.getBlockSizeLong().public Long getBlockSizeLong()
public ParallelTransferOptions setBlockSizeLong(Long blockSize)
blockSize - The block size.@Deprecated public Integer getNumBuffers()
ParallelTransferOptions.getMaxConcurrency()public ProgressReceiver getProgressReceiver()
public ParallelTransferOptions setProgressReceiver(ProgressReceiver progressReceiver)
ProgressReceiver.progressReceiver - The ProgressReceiver.@Deprecated public Integer getMaxSingleUploadSize()
ParallelTransferOptions.getMaxSingleUploadSizeLong().public Long getMaxSingleUploadSizeLong()
public ParallelTransferOptions setMaxSingleUploadSizeLong(Long maxSingleUploadSize)
maxSingleUploadSize - The threshold value.public Integer getMaxConcurrency()
public ParallelTransferOptions setMaxConcurrency(Integer maxConcurrency)
maxConcurrency - The maximum number of parallel requests that will be issued at any given time as a part of
a single parallel transfer. This value applies per api. For example, if two calls to uploadFromFile are made at
the same time, and each specifies a maxConcurrency of 5, there may be up to 10 outstanding, concurrent requests,
up to 5 for each of the upload operations. For buffered uploads only, the maximum number of buffers to be
allocated as part of the transfer will be maxConcurrency + 1. In those cases, memory will be allocated
lazily as needed. The amount of memory consumed by methods which buffer may be up to blockSize * maxConcurrency.
In general, upload methods which do not accept a length parameter must perform some buffering.Copyright © 2020 Microsoft Corporation. All rights reserved.