Skip to main content

AsyncManifestStoreScan

Trait AsyncManifestStoreScan 

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

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

Async manifest stores that can enumerate durable named roots.

Scanning remains optional because point lookups and compare-and-swap are enough for normal publish/fetch paths, while retention and GC need listing.

Required Methods§

Source

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

List all durable named root manifests.

Provided Methods§

Source

async 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 not dyn compatible.

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

Implementations on Foreign Types§

Source§

impl<T: AsyncManifestStoreScan> AsyncManifestStoreScan for Arc<T>

Source§

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

Source§

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

Implementors§