pub trait ResumablePolicyProvider:
DynClone
+ Debug
+ Sync
+ Send {
// Required methods
fn get_policy_from_size(
&self,
source_size: u64,
opts: GetPolicyOptions,
) -> ResumablePolicy;
fn get_policy_from_reader<'a>(
&self,
reader: Box<dyn DynRead + 'a>,
opts: GetPolicyOptions,
) -> Result<(ResumablePolicy, Box<dyn DynRead + 'a>), Error>;
fn get_policy_from_async_reader<'a>(
&self,
reader: Box<dyn DynAsyncRead + 'a>,
opts: GetPolicyOptions,
) -> Pin<Box<dyn Future<Output = Result<(ResumablePolicy, Box<dyn DynAsyncRead + 'a>), Error>> + Send + 'a>>;
}
Expand description
可恢复策略获取接口
Required Methods§
Sourcefn get_policy_from_size(
&self,
source_size: u64,
opts: GetPolicyOptions,
) -> ResumablePolicy
fn get_policy_from_size( &self, source_size: u64, opts: GetPolicyOptions, ) -> ResumablePolicy
通过数据源大小获取可恢复策略
Sourcefn get_policy_from_reader<'a>(
&self,
reader: Box<dyn DynRead + 'a>,
opts: GetPolicyOptions,
) -> Result<(ResumablePolicy, Box<dyn DynRead + 'a>), Error>
fn get_policy_from_reader<'a>( &self, reader: Box<dyn DynRead + 'a>, opts: GetPolicyOptions, ) -> Result<(ResumablePolicy, Box<dyn DynRead + 'a>), Error>
Sourcefn get_policy_from_async_reader<'a>(
&self,
reader: Box<dyn DynAsyncRead + 'a>,
opts: GetPolicyOptions,
) -> Pin<Box<dyn Future<Output = Result<(ResumablePolicy, Box<dyn DynAsyncRead + 'a>), Error>> + Send + 'a>>
fn get_policy_from_async_reader<'a>( &self, reader: Box<dyn DynAsyncRead + 'a>, opts: GetPolicyOptions, ) -> Pin<Box<dyn Future<Output = Result<(ResumablePolicy, Box<dyn DynAsyncRead + 'a>), Error>> + Send + 'a>>
通过异步输入流获取可恢复策略
返回选择的可恢复策略,以及经过更新的异步输入流