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§
Sourcefn list_roots(&self) -> Result<Vec<NamedRootManifest>, Self::Error>
fn list_roots(&self) -> Result<Vec<NamedRootManifest>, Self::Error>
List all durable named root manifests.
Provided Methods§
Sourcefn list_roots_page(
&self,
prefix: &[u8],
after: Option<&[u8]>,
limit: usize,
) -> Result<NamedRootManifestPage, Self::Error>
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".