pub trait RetentionStore: Send + Sync {
// Required methods
fn retention_preview<'a>(
&'a self,
scope: &'a Scope,
policy: &'a RetentionPolicy,
deadline: Instant,
) -> ContractFuture<'a, RetentionPreview>;
fn retain_batch<'a>(
&'a self,
scope: &'a Scope,
policy: &'a RetentionPolicy,
deadline: Instant,
) -> ContractFuture<'a, RetentionProgress>;
}Required Methods§
fn retention_preview<'a>( &'a self, scope: &'a Scope, policy: &'a RetentionPolicy, deadline: Instant, ) -> ContractFuture<'a, RetentionPreview>
Sourcefn retain_batch<'a>(
&'a self,
scope: &'a Scope,
policy: &'a RetentionPolicy,
deadline: Instant,
) -> ContractFuture<'a, RetentionProgress>
fn retain_batch<'a>( &'a self, scope: &'a Scope, policy: &'a RetentionPolicy, deadline: Instant, ) -> ContractFuture<'a, RetentionProgress>
Cooperating calls must preserve live cursors, active execution trees and unfinished delivery/reconciliation obligations. Crash/retry can repeat a batch; progress counts only the transaction acknowledged by this call.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".