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;
type SetUpgradableUrlsResponseFut: Future<Output = Result<PackageCacheSetUpgradableUrlsResult, Error>> + Send;
// Required methods
fn get(
&self,
meta_far_blob: &BlobInfo,
gc_protection: GcProtection,
needed_blobs: ServerEnd<NeededBlobsMarker>,
dir: ServerEnd<DirectoryMarker>,
) -> Self::GetResponseFut;
fn write_blobs(
&self,
needed_blobs: ServerEnd<NeededBlobsMarker>,
) -> Result<(), Error>;
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;
fn set_upgradable_urls(
&self,
pinned_urls: &[PackageUrl],
) -> Self::SetUpgradableUrlsResponseFut;
}Required Associated Types§
type GetResponseFut: Future<Output = Result<PackageCacheGetResult, Error>> + Send
type GetSubpackageResponseFut: Future<Output = Result<PackageCacheGetSubpackageResult, Error>> + Send
type SyncResponseFut: Future<Output = Result<PackageCacheSyncResult, Error>> + Send
type SetUpgradableUrlsResponseFut: Future<Output = Result<PackageCacheSetUpgradableUrlsResult, Error>> + Send
Required Methods§
fn get( &self, meta_far_blob: &BlobInfo, gc_protection: GcProtection, needed_blobs: ServerEnd<NeededBlobsMarker>, dir: ServerEnd<DirectoryMarker>, ) -> Self::GetResponseFut
fn write_blobs( &self, needed_blobs: ServerEnd<NeededBlobsMarker>, ) -> Result<(), Error>
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
fn set_upgradable_urls( &self, pinned_urls: &[PackageUrl], ) -> Self::SetUpgradableUrlsResponseFut
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".