pub trait PackageCacheProxyInterface: Send + Sync {
type GetResponseFut: Future<Output = Result<PackageCacheGetResult, Error>> + Send;
type GetSubpackageResponseFut: Future<Output = Result<PackageCacheGetSubpackageResult, Error>> + Send;
type SyncResponseFut: Future<Output = Result<PackageCacheSyncResult, Error>> + Send;
// Required methods
fn get(
&self,
meta_far_blob: &BlobInfo,
gc_protection: GcProtection,
needed_blobs: ServerEnd<NeededBlobsMarker>,
dir: ServerEnd<DirectoryMarker>
) -> Self::GetResponseFut;
fn get_subpackage(
&self,
superpackage: &BlobId,
subpackage: &PackageUrl,
dir: ServerEnd<DirectoryMarker>
) -> Self::GetSubpackageResponseFut;
fn base_package_index(
&self,
iterator: ServerEnd<PackageIndexIteratorMarker>
) -> Result<(), Error>;
fn cache_package_index(
&self,
iterator: ServerEnd<PackageIndexIteratorMarker>
) -> Result<(), Error>;
fn sync(&self) -> Self::SyncResponseFut;
}