Trait AsyncDataSource

Source
pub trait AsyncDataSource<A: Digest>:
    DynClone
    + Debug
    + Sync
    + Send {
    // Required methods
    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>>>;
}
Expand description

异步数据源接口

提供上传所用的数据源

Required Methods§

Source

fn slice( &self, size: PartSize, ) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>

异步数据源切片

Source

fn reset(&self) -> BoxFuture<'_, IoResult<()>>

异步重置数据源

Source

fn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>

异步获取数据源 KEY

用于区分不同的数据源

Source

fn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>

异步获取数据源大小

Implementations on Foreign Types§

Source§

impl<'a, A: Digest, T: 'a + AsyncDataSource<A> + ?Sized> AsyncDataSource<A> for &'a T
where &'a T: DynClone + Debug + Sync + Send,

Source§

fn slice( &self, size: PartSize, ) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>

Available on crate feature async only.
Source§

fn reset(&self) -> BoxFuture<'_, IoResult<()>>

Available on crate feature async only.
Source§

fn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>

Available on crate feature async only.
Source§

fn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>

Available on crate feature async only.
Source§

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

Source§

fn slice( &self, size: PartSize, ) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>

Available on crate feature async only.
Source§

fn reset(&self) -> BoxFuture<'_, IoResult<()>>

Available on crate feature async only.
Source§

fn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>

Available on crate feature async only.
Source§

fn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>

Available on crate feature async only.
Source§

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

Source§

fn slice( &self, size: PartSize, ) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>

Available on crate feature async only.
Source§

fn reset(&self) -> BoxFuture<'_, IoResult<()>>

Available on crate feature async only.
Source§

fn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>

Available on crate feature async only.
Source§

fn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>

Available on crate feature async only.
Source§

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

Source§

fn slice( &self, size: PartSize, ) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>

Available on crate feature async only.
Source§

fn reset(&self) -> BoxFuture<'_, IoResult<()>>

Available on crate feature async only.
Source§

fn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>

Available on crate feature async only.
Source§

fn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>

Available on crate feature async only.
Source§

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

Source§

fn slice( &self, size: PartSize, ) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>

Available on crate feature async only.
Source§

fn reset(&self) -> BoxFuture<'_, IoResult<()>>

Available on crate feature async only.
Source§

fn source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>

Available on crate feature async only.
Source§

fn total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>

Available on crate feature async only.

Implementors§