Trait qiniu_upload_manager::DataSource
source · [−]pub trait DataSource<A: Digest>: Debug + Sync + Send {
fn slice(&self, size: PartSize) -> IoResult<Option<DataSourceReader>>;
fn async_slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>;
fn total_size(&self) -> IoResult<Option<u64>>;
fn source_key(&self) -> IoResult<Option<SourceKey<A>>> { ... }
fn async_source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>> { ... }
fn async_total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>> { ... }
}
Expand description
数据源接口
提供上传所用的数据源
Required methods
数据源切片
该方法的异步版本为 Self::async_slice
。
fn async_slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
fn async_slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
async
only.异步数据源切片
fn total_size(&self) -> IoResult<Option<u64>>
fn total_size(&self) -> IoResult<Option<u64>>
获取数据源大小
该方法的异步版本为 Self::async_total_size
。
Provided methods
fn source_key(&self) -> IoResult<Option<SourceKey<A>>>
fn source_key(&self) -> IoResult<Option<SourceKey<A>>>
fn async_source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
fn async_source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
async
only.异步获取数据源 KEY
用于区分不同的数据源
fn async_total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
fn async_total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
async
only.异步获取数据源大小
Implementations on Foreign Types
sourceimpl<'a, A: Digest, T: 'a + DataSource<A> + ?Sized> DataSource<A> for &'a T where
&'a T: Debug + Sync + Send,
impl<'a, A: Digest, T: 'a + DataSource<A> + ?Sized> DataSource<A> for &'a T where
&'a T: Debug + Sync + Send,
sourcefn slice(&self, size: PartSize) -> IoResult<Option<DataSourceReader>>
fn slice(&self, size: PartSize) -> IoResult<Option<DataSourceReader>>
数据源切片
该方法的异步版本为 [Self::async_slice
]。
sourcefn async_slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
This is supported on crate feature async
only.
fn async_slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
async
only.异步数据源切片
sourcefn source_key(&self) -> IoResult<Option<SourceKey<A>>>
fn source_key(&self) -> IoResult<Option<SourceKey<A>>>
获取数据源 KEY
用于区分不同的数据源
该方法的异步版本为 [Self::async_source_key
]。
sourcefn async_source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
This is supported on crate feature async
only.
fn async_source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
async
only.异步获取数据源 KEY
用于区分不同的数据源
sourcefn total_size(&self) -> IoResult<Option<u64>>
fn total_size(&self) -> IoResult<Option<u64>>
获取数据源大小
该方法的异步版本为 [Self::async_total_size
]。
sourcefn async_total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
This is supported on crate feature async
only.
fn async_total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
async
only.异步获取数据源大小
sourceimpl<'a, A: Digest, T: 'a + DataSource<A> + ?Sized> DataSource<A> for &'a mut T where
&'a mut T: Debug + Sync + Send,
impl<'a, A: Digest, T: 'a + DataSource<A> + ?Sized> DataSource<A> for &'a mut T where
&'a mut T: Debug + Sync + Send,
sourcefn slice(&self, size: PartSize) -> IoResult<Option<DataSourceReader>>
fn slice(&self, size: PartSize) -> IoResult<Option<DataSourceReader>>
数据源切片
该方法的异步版本为 [Self::async_slice
]。
sourcefn async_slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
This is supported on crate feature async
only.
fn async_slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
async
only.异步数据源切片
sourcefn source_key(&self) -> IoResult<Option<SourceKey<A>>>
fn source_key(&self) -> IoResult<Option<SourceKey<A>>>
获取数据源 KEY
用于区分不同的数据源
该方法的异步版本为 [Self::async_source_key
]。
sourcefn async_source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
This is supported on crate feature async
only.
fn async_source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
async
only.异步获取数据源 KEY
用于区分不同的数据源
sourcefn total_size(&self) -> IoResult<Option<u64>>
fn total_size(&self) -> IoResult<Option<u64>>
获取数据源大小
该方法的异步版本为 [Self::async_total_size
]。
sourcefn async_total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
This is supported on crate feature async
only.
fn async_total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
async
only.异步获取数据源大小
sourceimpl<A: Digest, T: DataSource<A> + ?Sized> DataSource<A> for Box<T> where
Box<T>: Debug + Sync + Send,
impl<A: Digest, T: DataSource<A> + ?Sized> DataSource<A> for Box<T> where
Box<T>: Debug + Sync + Send,
sourcefn slice(&self, size: PartSize) -> IoResult<Option<DataSourceReader>>
fn slice(&self, size: PartSize) -> IoResult<Option<DataSourceReader>>
数据源切片
该方法的异步版本为 Self::async_slice
。
sourcefn async_slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
This is supported on crate feature async
only.
fn async_slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
async
only.异步数据源切片
sourcefn source_key(&self) -> IoResult<Option<SourceKey<A>>>
fn source_key(&self) -> IoResult<Option<SourceKey<A>>>
sourcefn async_source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
This is supported on crate feature async
only.
fn async_source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
async
only.异步获取数据源 KEY
用于区分不同的数据源
sourcefn total_size(&self) -> IoResult<Option<u64>>
fn total_size(&self) -> IoResult<Option<u64>>
获取数据源大小
该方法的异步版本为 Self::async_total_size
。
sourcefn async_total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
This is supported on crate feature async
only.
fn async_total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
async
only.异步获取数据源大小
sourceimpl<A: Digest, T: DataSource<A> + ?Sized> DataSource<A> for Rc<T> where
Rc<T>: Debug + Sync + Send,
impl<A: Digest, T: DataSource<A> + ?Sized> DataSource<A> for Rc<T> where
Rc<T>: Debug + Sync + Send,
sourcefn slice(&self, size: PartSize) -> IoResult<Option<DataSourceReader>>
fn slice(&self, size: PartSize) -> IoResult<Option<DataSourceReader>>
数据源切片
该方法的异步版本为 Self::async_slice
。
sourcefn async_slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
This is supported on crate feature async
only.
fn async_slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
async
only.异步数据源切片
sourcefn source_key(&self) -> IoResult<Option<SourceKey<A>>>
fn source_key(&self) -> IoResult<Option<SourceKey<A>>>
sourcefn async_source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
This is supported on crate feature async
only.
fn async_source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
async
only.异步获取数据源 KEY
用于区分不同的数据源
sourcefn total_size(&self) -> IoResult<Option<u64>>
fn total_size(&self) -> IoResult<Option<u64>>
获取数据源大小
该方法的异步版本为 Self::async_total_size
。
sourcefn async_total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
This is supported on crate feature async
only.
fn async_total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
async
only.异步获取数据源大小
sourceimpl<A: Digest, T: DataSource<A> + ?Sized> DataSource<A> for Arc<T> where
Arc<T>: Debug + Sync + Send,
impl<A: Digest, T: DataSource<A> + ?Sized> DataSource<A> for Arc<T> where
Arc<T>: Debug + Sync + Send,
sourcefn slice(&self, size: PartSize) -> IoResult<Option<DataSourceReader>>
fn slice(&self, size: PartSize) -> IoResult<Option<DataSourceReader>>
数据源切片
该方法的异步版本为 Self::async_slice
。
sourcefn async_slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
This is supported on crate feature async
only.
fn async_slice(
&self,
size: PartSize
) -> BoxFuture<'_, IoResult<Option<AsyncDataSourceReader>>>
async
only.异步数据源切片
sourcefn source_key(&self) -> IoResult<Option<SourceKey<A>>>
fn source_key(&self) -> IoResult<Option<SourceKey<A>>>
sourcefn async_source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
This is supported on crate feature async
only.
fn async_source_key(&self) -> BoxFuture<'_, IoResult<Option<SourceKey<A>>>>
async
only.异步获取数据源 KEY
用于区分不同的数据源
sourcefn total_size(&self) -> IoResult<Option<u64>>
fn total_size(&self) -> IoResult<Option<u64>>
获取数据源大小
该方法的异步版本为 Self::async_total_size
。
sourcefn async_total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
This is supported on crate feature async
only.
fn async_total_size(&self) -> BoxFuture<'_, IoResult<Option<u64>>>
async
only.异步获取数据源大小