Skip to main content

CompactionDiscardSource

Trait CompactionDiscardSource 

Source
pub trait CompactionDiscardSource: Send + Sync {
    // Required method
    fn read_discards<'life0, 'life1, 'async_trait>(
        &'life0 self,
        session_key: &'life1 str,
        limit: usize,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<DiscardEntry>, DistillerError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;

    // Provided method
    fn drop_scope<'life0, 'life1, 'async_trait>(
        &'life0 self,
        session_key: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<usize, DistillerError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait { ... }
}
Expand description

Host-side read over a session’s compaction discards.

Required Methods§

Source

fn read_discards<'life0, 'life1, 'async_trait>( &'life0 self, session_key: &'life1 str, limit: usize, ) -> Pin<Box<dyn Future<Output = Result<Vec<DiscardEntry>, DistillerError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Provided Methods§

Source

fn drop_scope<'life0, 'life1, 'async_trait>( &'life0 self, session_key: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<usize, DistillerError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Ask 2 (landed in meerkat 0.7.12): reclaim a permanently-orphaned session’s semantic-memory rows via MemoryStore::drop_scope. Session ids rotate under respawn/reset and vanish under delete, stranding rows that nothing will ever search yet that every future agent build in the realm re-embeds (defect D3, storage half). Callers MUST run this only AFTER distillation has preserved what mattered, and ONLY for causes that permanently abandon the id. Returns the number of rows dropped (0 when unsupported — the default is a no-op for stores/test doubles without a drop facility).

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§