Skip to main content

ManifestStoreScan

Trait ManifestStoreScan 

Source
pub trait ManifestStoreScan: ManifestStore {
    // Required method
    fn list_roots(&self) -> Result<Vec<NamedRootManifest>, Self::Error>;

    // Provided method
    fn list_roots_page(
        &self,
        prefix: &[u8],
        after: Option<&[u8]>,
        limit: usize,
    ) -> Result<NamedRootManifestPage, Self::Error> { ... }
}
Expand description

Manifest stores that can enumerate durable named roots.

This trait is separate from ManifestStore because point lookups and CAS updates are enough for simple applications, while store-wide garbage collection needs an explicit listing capability. Implementations must return roots sorted by raw name bytes for deterministic retention planning.

Required Methods§

Source

fn list_roots(&self) -> Result<Vec<NamedRootManifest>, Self::Error>

List all durable named root manifests.

Provided Methods§

Source

fn list_roots_page( &self, prefix: &[u8], after: Option<&[u8]>, limit: usize, ) -> Result<NamedRootManifestPage, Self::Error>

List one bounded raw-name page under prefix, strictly after after.

Backends should override this method with a native bounded range query. The default preserves compatibility but may materialize the full list.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementations on Foreign Types§

Source§

impl<T: ManifestStoreScan> ManifestStoreScan for Arc<T>

Source§

fn list_roots(&self) -> Result<Vec<NamedRootManifest>, Self::Error>

Source§

fn list_roots_page( &self, prefix: &[u8], after: Option<&[u8]>, limit: usize, ) -> Result<NamedRootManifestPage, Self::Error>

Implementors§