Trait MultiPartsUploaderScheduler

Source
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§

Source

fn set_concurrency_provider( &mut self, concurrency_provider: Box<dyn ConcurrencyProvider>, )

设置并发数提供者

Source

fn set_data_partition_provider( &mut self, data_partition_provider: Box<dyn DataPartitionProvider>, )

设置分片大小提供者

Source

fn upload( &self, source: Box<dyn DataSource<A>>, params: ObjectParams, ) -> ApiResult<Value>

上传数据源

该方法的异步版本为 Self::async_upload

Source

fn async_upload( &self, source: Box<dyn AsyncDataSource<A>>, params: ObjectParams, ) -> BoxFuture<'_, ApiResult<Value>>

Available on crate feature async only.

异步上传数据源

Implementations on Foreign Types§

Source§

impl<'a, A: Digest, T: 'a + MultiPartsUploaderScheduler<A> + ?Sized> MultiPartsUploaderScheduler<A> for &'a mut T

Source§

fn set_concurrency_provider( &mut self, concurrency_provider: Box<dyn ConcurrencyProvider>, )

Source§

fn set_data_partition_provider( &mut self, data_partition_provider: Box<dyn DataPartitionProvider>, )

Source§

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>>

Available on crate feature async only.
Source§

impl<A: Digest, T: MultiPartsUploaderScheduler<A> + ?Sized> MultiPartsUploaderScheduler<A> for Box<T>
where Box<T>: DynClone + Send + Sync + Debug,

Source§

fn set_concurrency_provider( &mut self, concurrency_provider: Box<dyn ConcurrencyProvider>, )

Source§

fn set_data_partition_provider( &mut self, data_partition_provider: Box<dyn DataPartitionProvider>, )

Source§

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>>

Available on crate feature async only.

Implementors§