pub trait MemoryMaintenanceJob: Send + Sync {
// Required method
fn run<'life0, 'life1, 'async_trait>(
&'life0 self,
context: &'life1 MemoryMaintenanceContext,
cancellation: CancellationToken,
) -> Pin<Box<dyn Future<Output = Result<MemoryMaintenanceOutcome>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}Expand description
One policy-owned memory maintenance operation.
Implementations may perform verified consolidation, retention projection,
or other bounded host work. The storage kernel never constructs one. Runs
for the same scheduled job are serialized, and cancellation fires when
the owning runtime closes.
Required Methods§
fn run<'life0, 'life1, 'async_trait>(
&'life0 self,
context: &'life1 MemoryMaintenanceContext,
cancellation: CancellationToken,
) -> Pin<Box<dyn Future<Output = Result<MemoryMaintenanceOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".