Skip to main content

ProjectionSource

Trait ProjectionSource 

Source
pub trait ProjectionSource {
    // Required methods
    fn visit_projection_nodes(
        &self,
        visitor: &mut dyn FnMut(NodeRecord) -> ProjectionScanControl,
    ) -> Result<ProjectionScanControl, String>;
    fn visit_projection_relationships(
        &self,
        visitor: &mut dyn FnMut(RelRecord) -> ProjectionScanControl,
    ) -> Result<ProjectionScanControl, String>;

    // Provided method
    fn admit_projection_memory(&self, _total_bytes: usize) -> Result<(), String> { ... }
}
Expand description

Storage-neutral source consumed while building an immutable projection.

Required Methods§

Provided Methods§

Source

fn admit_projection_memory(&self, _total_bytes: usize) -> Result<(), String>

Admit cumulative graph storage before node/adjacency allocation. Query sources retain this reservation until the projection’s owner takes it. Standalone sources may keep their existing projection-only local budget.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§