Trait MultiPartsUploaderScheduler

Source
pub trait MultiPartsUploaderScheduler<A>:
    DynClone
    + Send
    + Sync
    + Debug
where A: Digest,
{ // 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, ) -> Result<Value, Error>; fn async_upload( &self, source: Box<dyn AsyncDataSource<A>>, params: ObjectParams, ) -> Pin<Box<dyn Future<Output = Result<Value, Error>> + Send + '_>>; }
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, ) -> Result<Value, Error>

上传数据源

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

Source

fn async_upload( &self, source: Box<dyn AsyncDataSource<A>>, params: ObjectParams, ) -> Pin<Box<dyn Future<Output = Result<Value, Error>> + Send + '_>>

异步上传数据源

Implementations on Foreign Types§

Source§

impl<'a, A, T> 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, ) -> Result<Value, Error>

Source§

fn async_upload( &self, source: Box<dyn AsyncDataSource<A>>, params: ObjectParams, ) -> Pin<Box<dyn Future<Output = Result<Value, Error>> + Send + '_>>

Source§

impl<A, T> MultiPartsUploaderScheduler<A> for Box<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, ) -> Result<Value, Error>

Source§

fn async_upload( &self, source: Box<dyn AsyncDataSource<A>>, params: ObjectParams, ) -> Pin<Box<dyn Future<Output = Result<Value, Error>> + Send + '_>>

Implementors§