pub struct IncrementalEngine<K, V> { /* private fields */ }Expand description
A dependency-light incremental query engine.
Implementations§
Source§impl<K, V> IncrementalEngine<K, V>
impl<K, V> IncrementalEngine<K, V>
Sourcepub fn register_query(&mut self, key: K, query: Query<K, V>)
pub fn register_query(&mut self, key: K, query: Query<K, V>)
Registers or replaces a query callback for key.
Sourcepub fn register_fn<F>(&mut self, key: K, query: F)
pub fn register_fn<F>(&mut self, key: K, query: F)
Registers a query callback function for key.
Sourcepub fn remove_query(&mut self, key: &K) -> bool
pub fn remove_query(&mut self, key: &K) -> bool
Removes a query and marks its dependents dirty.
Sourcepub fn invalidate(&mut self, key: &K) -> Revision
pub fn invalidate(&mut self, key: &K) -> Revision
Advances an external observation stamp and invalidates reverse dependents.
Sourcepub fn source_revision(&self, key: &K) -> Revision
pub fn source_revision(&self, key: &K) -> Revision
Returns the current external observation revision for key.
Sourcepub fn dirty_keys(&self) -> Vec<K>
pub fn dirty_keys(&self) -> Vec<K>
Returns dirty memo keys in deterministic order.
Sourcepub fn memo_revision(&self, key: &K) -> Option<Revision>
pub fn memo_revision(&self, key: &K) -> Option<Revision>
Returns the current memo revision for key, when present.
Sourcepub fn memo_fingerprint(&self, key: &K) -> Option<ValueFingerprint>
pub fn memo_fingerprint(&self, key: &K) -> Option<ValueFingerprint>
Returns the current memo fingerprint for key, when present.
Source§impl<K, V> IncrementalEngine<K, V>
impl<K, V> IncrementalEngine<K, V>
Sourcepub fn verify(&mut self, key: K) -> QueryResult<K, V>
pub fn verify(&mut self, key: K) -> QueryResult<K, V>
Verifies a root query using unbounded budgets.
Sourcepub fn verify_with_budgets(
&mut self,
key: K,
budgets: QueryBudgets,
) -> QueryResult<K, V>
pub fn verify_with_budgets( &mut self, key: K, budgets: QueryBudgets, ) -> QueryResult<K, V>
Verifies a root query using explicit budgets.
Sourcepub fn resume(
&mut self,
token: ContinuationToken,
budgets: QueryBudgets,
) -> QueryResult<K, V>
pub fn resume( &mut self, token: ContinuationToken, budgets: QueryBudgets, ) -> QueryResult<K, V>
Resumes the root query represented by a continuation token.
Sourcepub fn verify_many<I>(&mut self, keys: I) -> QueryResult<K, Vec<(K, V)>>where
I: IntoIterator<Item = K>,
pub fn verify_many<I>(&mut self, keys: I) -> QueryResult<K, Vec<(K, V)>>where
I: IntoIterator<Item = K>,
Verifies roots in stable key order using unbounded budgets.
Sourcepub fn verify_many_with_budgets<I>(
&mut self,
keys: I,
budgets: QueryBudgets,
) -> QueryResult<K, Vec<(K, V)>>where
I: IntoIterator<Item = K>,
pub fn verify_many_with_budgets<I>(
&mut self,
keys: I,
budgets: QueryBudgets,
) -> QueryResult<K, Vec<(K, V)>>where
I: IntoIterator<Item = K>,
Verifies roots in stable key order using explicit budgets for each root.
Source§impl<K, V> IncrementalEngine<K, V>
impl<K, V> IncrementalEngine<K, V>
Sourcepub fn snapshot<I>(
&mut self,
roots: I,
budgets: SnapshotBudgets,
) -> QueryResult<K, GraphSnapshot<K, V>>where
I: IntoIterator<Item = K>,
pub fn snapshot<I>(
&mut self,
roots: I,
budgets: SnapshotBudgets,
) -> QueryResult<K, GraphSnapshot<K, V>>where
I: IntoIterator<Item = K>,
Exports memo graph state reachable from roots.
Sourcepub fn restore_snapshot(
&mut self,
snapshot: GraphSnapshot<K, V>,
) -> Result<RestoreReport, SnapshotError<K>>
pub fn restore_snapshot( &mut self, snapshot: GraphSnapshot<K, V>, ) -> Result<RestoreReport, SnapshotError<K>>
Restores memo graph state and rebuilds reverse dependency edges.