pub trait MultiPartsUploaderScheduler<A: Digest>:
DynClone
+ Send
+ Sync
+ Debug {
// Required methods
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>>
Available on crate feature async
only.
fn async_upload( &self, source: Box<dyn AsyncDataSource<A>>, params: ObjectParams, ) -> BoxFuture<'_, ApiResult<Value>>
async
only.异步上传数据源
Implementations on Foreign Types§
Source§impl<'a, A: Digest, T: 'a + MultiPartsUploaderScheduler<A> + ?Sized> MultiPartsUploaderScheduler<A> for &'a mut T
impl<'a, A: Digest, T: 'a + MultiPartsUploaderScheduler<A> + ?Sized> MultiPartsUploaderScheduler<A> for &'a mut T
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>
Source§fn 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.Source§impl<A: Digest, T: MultiPartsUploaderScheduler<A> + ?Sized> MultiPartsUploaderScheduler<A> for Box<T>
impl<A: Digest, T: MultiPartsUploaderScheduler<A> + ?Sized> MultiPartsUploaderScheduler<A> for Box<T>
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>
Source§fn 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.