pub trait MultiPartsUploaderScheduler<A: Digest>: DynClone + Send + Sync + Debug {
fn set_concurrency_provider(
&mut self,
concurrency_provider: Box<dyn ConcurrencyProvider>
);
fn set_data_partition_provider(
&mut self,
data_partition_provider: Box<dyn DataPartitionProvider>
);
fn upload(
&self,
source: Box<dyn DataSource<A>>,
params: ObjectParams
) -> ApiResult<Value>;
fn async_upload(
&self,
source: Box<dyn AsyncDataSource<A>>,
params: ObjectParams
) -> BoxFuture<'_, ApiResult<Value>>;
}Expand description
分片上传调度器接口
负责分片上传的调度,包括初始化分片信息、上传分片、完成分片上传。
Required Methods
sourcefn set_concurrency_provider(
&mut self,
concurrency_provider: Box<dyn ConcurrencyProvider>
)
fn set_concurrency_provider(
&mut self,
concurrency_provider: Box<dyn ConcurrencyProvider>
)
设置并发数提供者
sourcefn set_data_partition_provider(
&mut self,
data_partition_provider: Box<dyn DataPartitionProvider>
)
fn set_data_partition_provider(
&mut self,
data_partition_provider: Box<dyn DataPartitionProvider>
)
设置分片大小提供者
sourcefn upload(
&self,
source: Box<dyn DataSource<A>>,
params: ObjectParams
) -> ApiResult<Value>
fn upload(
&self,
source: Box<dyn DataSource<A>>,
params: ObjectParams
) -> ApiResult<Value>
上传数据源
该方法的异步版本为 Self::async_upload。
sourcefn async_upload(
&self,
source: Box<dyn AsyncDataSource<A>>,
params: ObjectParams
) -> BoxFuture<'_, ApiResult<Value>>
fn async_upload(
&self,
source: Box<dyn AsyncDataSource<A>>,
params: ObjectParams
) -> BoxFuture<'_, ApiResult<Value>>
Available on crate feature
async only.异步上传数据源
Trait Implementations
sourceimpl<'clone, A: Digest> Clone for Box<dyn MultiPartsUploaderScheduler<A> + 'clone>
impl<'clone, A: Digest> Clone for Box<dyn MultiPartsUploaderScheduler<A> + 'clone>
Implementations on Foreign Types
sourceimpl<'a, A: Digest, T: 'a + MultiPartsUploaderScheduler<A> + ?Sized> MultiPartsUploaderScheduler<A> for &'a mut Twhere
&'a mut T: DynClone + Send + Sync + Debug,
impl<'a, A: Digest, T: 'a + MultiPartsUploaderScheduler<A> + ?Sized> MultiPartsUploaderScheduler<A> for &'a mut Twhere
&'a mut T: DynClone + Send + Sync + Debug,
fn set_concurrency_provider(
&mut self,
concurrency_provider: Box<dyn ConcurrencyProvider>
)
fn set_data_partition_provider(
&mut self,
data_partition_provider: Box<dyn DataPartitionProvider>
)
fn upload(
&self,
source: Box<dyn DataSource<A>>,
params: ObjectParams
) -> ApiResult<Value>
sourcefn async_upload(
&self,
source: Box<dyn AsyncDataSource<A>>,
params: ObjectParams
) -> BoxFuture<'_, ApiResult<Value>>
fn async_upload(
&self,
source: Box<dyn AsyncDataSource<A>>,
params: ObjectParams
) -> BoxFuture<'_, ApiResult<Value>>
Available on crate feature
async only.sourceimpl<A: Digest, T: MultiPartsUploaderScheduler<A> + ?Sized> MultiPartsUploaderScheduler<A> for Box<T>where
Box<T>: DynClone + Send + Sync + Debug,
impl<A: Digest, T: MultiPartsUploaderScheduler<A> + ?Sized> MultiPartsUploaderScheduler<A> for Box<T>where
Box<T>: DynClone + Send + Sync + Debug,
fn set_concurrency_provider(
&mut self,
concurrency_provider: Box<dyn ConcurrencyProvider>
)
fn set_data_partition_provider(
&mut self,
data_partition_provider: Box<dyn DataPartitionProvider>
)
fn upload(
&self,
source: Box<dyn DataSource<A>>,
params: ObjectParams
) -> ApiResult<Value>
sourcefn async_upload(
&self,
source: Box<dyn AsyncDataSource<A>>,
params: ObjectParams
) -> BoxFuture<'_, ApiResult<Value>>
fn async_upload(
&self,
source: Box<dyn AsyncDataSource<A>>,
params: ObjectParams
) -> BoxFuture<'_, ApiResult<Value>>
Available on crate feature
async only.