Skip to main content

DagStrip

Trait DagStrip 

Source
pub trait DagStrip {
    // Required method
    fn strip<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        set: &'life1 Set,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Remove vertexes and their descendants from the DAG.

Required Methods§

Source

fn strip<'life0, 'life1, 'async_trait>( &'life0 mut self, set: &'life1 Set, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Remove the given set and their descendants on disk.

Reload and persist changes to disk (with lock) immediately. Errors out if pending changes in NON_MASTER were added by add_heads.

After strip, the self graph might contain new vertexes because of the reload.

Implementors§

Source§

impl<IS, M, P, S> DagStrip for AbstractDag<IdDag<IS>, M, P, S>
where IS: IdDagStore + Persist, IdDag<IS>: TryClone + StorageVersion, M: TryClone + Persist + IdMapWrite + IdConvert + Send + Sync + 'static, P: TryClone + Open<OpenTarget = Self> + Send + Sync + 'static, S: TryClone + Persist + Send + Sync + 'static,