Skip to main content

DagImportPullData

Trait DagImportPullData 

Source
pub trait DagImportPullData {
    // Required method
    fn import_pull_data<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        clone_data: CloneData<Vertex>,
        heads: &'life1 VertexListWithOptions,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Import a generated incremental CloneData object into an existing DAG. Ids in the passed CloneData might not match ids in existing DAG.

Required Methods§

Source

fn import_pull_data<'life0, 'life1, 'async_trait>( &'life0 mut self, clone_data: CloneData<Vertex>, heads: &'life1 VertexListWithOptions, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Imports lazy segments (“name” partially known, “shape” known) on disk.

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

heads must use MASTER as desired_group. heads are imported in the given order (useful to distinguish between primary and secondary branches, and specify their gaps in the id ranges, to reduce fragmentation).

heads with reserve_size > 0 must be passed in even if they already exist and are not being added, for the id reservation to work correctly.

If clone_data includes parts not covered by heads and their ancestors, those parts will be ignored.

Implementors§

Source§

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