Skip to main content

RefRows

Trait RefRows 

Source
pub trait RefRows: Send + Sync {
    // Required method
    fn snapshot<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<RefRowsSnapshot, StorageError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

The refs rows’ read seam — the durable state the closure walks and fingerprints. Implemented by the refs tables (crate::refs::InMemoryRefTable, the sqlite twin) and forwarded by the composition’s write-counting wrapper (crate::refs::VersionedRefTable). Engine twins carry their own: snapshotting is a plain ordered read of the rows the CAS writes.

Required Methods§

Source

fn snapshot<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<RefRowsSnapshot, StorageError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

The full canonical snapshot: all repos’ rows, name-sorted, with the fingerprint over the canonical form.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl RefRows for InMemoryRefTable

Source§

impl RefRows for SqliteRefTable

The liveness seam’s row read: one ordered query over the co-tenant rows (ORDER BY repo_id, name — the canonical order the fingerprint folds), bridged off the executor like every blocking-SQL leg.

Source§

impl<T> RefRows for VersionedRefTable<T>
where T: RefRows + ?Sized,