pub trait ResumableRecorder:
DynClone
+ Debug
+ Sync
+ Send {
type HashAlgorithm: Digest;
// Required methods
fn open_for_read(
&self,
source_key: &SourceKey<Self::HashAlgorithm>,
) -> Result<Box<dyn ReadOnlyResumableRecorderMedium>, Error>;
fn open_for_append(
&self,
source_key: &SourceKey<Self::HashAlgorithm>,
) -> Result<Box<dyn AppendOnlyResumableRecorderMedium>, Error>;
fn open_for_create_new(
&self,
source_key: &SourceKey<Self::HashAlgorithm>,
) -> Result<Box<dyn AppendOnlyResumableRecorderMedium>, Error>;
fn delete(
&self,
source_key: &SourceKey<Self::HashAlgorithm>,
) -> Result<(), Error>;
fn open_for_async_read<'a>(
&'a self,
source_key: &'a SourceKey<Self::HashAlgorithm>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn ReadOnlyAsyncResumableRecorderMedium>, Error>> + Send + 'a>>;
fn open_for_async_append<'a>(
&'a self,
source_key: &'a SourceKey<Self::HashAlgorithm>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn AppendOnlyAsyncResumableRecorderMedium>, Error>> + Send + 'a>>;
fn open_for_async_create_new<'a>(
&'a self,
source_key: &'a SourceKey<Self::HashAlgorithm>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn AppendOnlyAsyncResumableRecorderMedium>, Error>> + Send + 'a>>;
fn async_delete<'a>(
&'a self,
source_key: &'a SourceKey<Self::HashAlgorithm>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'a>>;
}
Expand description
断点恢复记录器
Required Associated Types§
Sourcetype HashAlgorithm: Digest
type HashAlgorithm: Digest
数据源 KEY 的哈希算法
Required Methods§
Sourcefn open_for_read(
&self,
source_key: &SourceKey<Self::HashAlgorithm>,
) -> Result<Box<dyn ReadOnlyResumableRecorderMedium>, Error>
fn open_for_read( &self, source_key: &SourceKey<Self::HashAlgorithm>, ) -> Result<Box<dyn ReadOnlyResumableRecorderMedium>, Error>
根据数据源 KEY 打开只读记录介质
Sourcefn open_for_append(
&self,
source_key: &SourceKey<Self::HashAlgorithm>,
) -> Result<Box<dyn AppendOnlyResumableRecorderMedium>, Error>
fn open_for_append( &self, source_key: &SourceKey<Self::HashAlgorithm>, ) -> Result<Box<dyn AppendOnlyResumableRecorderMedium>, Error>
根据数据源 KEY 打开追加记录介质
Sourcefn open_for_create_new(
&self,
source_key: &SourceKey<Self::HashAlgorithm>,
) -> Result<Box<dyn AppendOnlyResumableRecorderMedium>, Error>
fn open_for_create_new( &self, source_key: &SourceKey<Self::HashAlgorithm>, ) -> Result<Box<dyn AppendOnlyResumableRecorderMedium>, Error>
根据数据源 KEY 创建追加记录介质
Sourcefn delete(
&self,
source_key: &SourceKey<Self::HashAlgorithm>,
) -> Result<(), Error>
fn delete( &self, source_key: &SourceKey<Self::HashAlgorithm>, ) -> Result<(), Error>
根据数据源 KEY 删除记录介质
Sourcefn open_for_async_read<'a>(
&'a self,
source_key: &'a SourceKey<Self::HashAlgorithm>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn ReadOnlyAsyncResumableRecorderMedium>, Error>> + Send + 'a>>
fn open_for_async_read<'a>( &'a self, source_key: &'a SourceKey<Self::HashAlgorithm>, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn ReadOnlyAsyncResumableRecorderMedium>, Error>> + Send + 'a>>
根据数据源 KEY 打开异步只读记录介质
Sourcefn open_for_async_append<'a>(
&'a self,
source_key: &'a SourceKey<Self::HashAlgorithm>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn AppendOnlyAsyncResumableRecorderMedium>, Error>> + Send + 'a>>
fn open_for_async_append<'a>( &'a self, source_key: &'a SourceKey<Self::HashAlgorithm>, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn AppendOnlyAsyncResumableRecorderMedium>, Error>> + Send + 'a>>
根据数据源 KEY 打开异步追加记录介质
Sourcefn open_for_async_create_new<'a>(
&'a self,
source_key: &'a SourceKey<Self::HashAlgorithm>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn AppendOnlyAsyncResumableRecorderMedium>, Error>> + Send + 'a>>
fn open_for_async_create_new<'a>( &'a self, source_key: &'a SourceKey<Self::HashAlgorithm>, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn AppendOnlyAsyncResumableRecorderMedium>, Error>> + Send + 'a>>
根据数据源 KEY 创建异步追加记录介质