Trait qiniu_upload_manager::AsyncDataSource
source · [−]pub trait AsyncDataSource<A: Digest>: DynClone + Debug + Sync + Send {
fn slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>;
fn reset(&self) -> BoxFuture<'_, IoResult<()>>;
fn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>;
fn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>;
}
Available on crate feature
async
only.Expand description
异步数据源接口
提供上传所用的数据源
Required Methods
异步数据源切片
sourcefn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
fn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
异步获取数据源 KEY
用于区分不同的数据源
sourcefn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
fn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
异步获取数据源大小
Trait Implementations
sourceimpl<'clone, A: Digest> Clone for Box<dyn AsyncDataSource<A> + 'clone>
impl<'clone, A: Digest> Clone for Box<dyn AsyncDataSource<A> + 'clone>
Implementations on Foreign Types
sourceimpl<'a, A: Digest, T: 'a + AsyncDataSource<A> + ?Sized> AsyncDataSource<A> for &'a Twhere
&'a T: DynClone + Debug + Sync + Send,
impl<'a, A: Digest, T: 'a + AsyncDataSource<A> + ?Sized> AsyncDataSource<A> for &'a Twhere
&'a T: DynClone + Debug + Sync + Send,
sourcefn slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
fn slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
Available on crate feature
async
only.sourcefn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
fn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
Available on crate feature
async
only.sourcefn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
fn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
Available on crate feature
async
only.sourceimpl<'a, A: Digest, T: 'a + AsyncDataSource<A> + ?Sized> AsyncDataSource<A> for &'a mut Twhere
&'a mut T: DynClone + Debug + Sync + Send,
impl<'a, A: Digest, T: 'a + AsyncDataSource<A> + ?Sized> AsyncDataSource<A> for &'a mut Twhere
&'a mut T: DynClone + Debug + Sync + Send,
sourcefn slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
fn slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
Available on crate feature
async
only.sourcefn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
fn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
Available on crate feature
async
only.sourcefn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
fn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
Available on crate feature
async
only.sourceimpl<A: Digest, T: AsyncDataSource<A> + ?Sized> AsyncDataSource<A> for Box<T>where
Box<T>: DynClone + Debug + Sync + Send,
impl<A: Digest, T: AsyncDataSource<A> + ?Sized> AsyncDataSource<A> for Box<T>where
Box<T>: DynClone + Debug + Sync + Send,
sourcefn slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
fn slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
Available on crate feature
async
only.sourcefn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
fn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
Available on crate feature
async
only.sourcefn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
fn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
Available on crate feature
async
only.sourceimpl<A: Digest, T: AsyncDataSource<A> + ?Sized> AsyncDataSource<A> for Rc<T>where
Rc<T>: DynClone + Debug + Sync + Send,
impl<A: Digest, T: AsyncDataSource<A> + ?Sized> AsyncDataSource<A> for Rc<T>where
Rc<T>: DynClone + Debug + Sync + Send,
sourcefn slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
fn slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
Available on crate feature
async
only.sourcefn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
fn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
Available on crate feature
async
only.sourcefn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
fn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
Available on crate feature
async
only.sourceimpl<A: Digest, T: AsyncDataSource<A> + ?Sized> AsyncDataSource<A> for Arc<T>where
Arc<T>: DynClone + Debug + Sync + Send,
impl<A: Digest, T: AsyncDataSource<A> + ?Sized> AsyncDataSource<A> for Arc<T>where
Arc<T>: DynClone + Debug + Sync + Send,
sourcefn slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
fn slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
Available on crate feature
async
only.sourcefn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
fn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
Available on crate feature
async
only.sourcefn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
fn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
Available on crate feature
async
only.