pub trait NamedObjectCache: Sync + Send {
// Required methods
fn put_object<'life0, 'life1, 'async_trait>(
&'life0 self,
req: &'life1 NamedObjectCachePutObjectRequest
) -> Pin<Box<dyn Future<Output = BuckyResult<NamedObjectCachePutObjectResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_object_raw<'life0, 'life1, 'async_trait>(
&'life0 self,
req: &'life1 NamedObjectCacheGetObjectRequest
) -> Pin<Box<dyn Future<Output = BuckyResult<Option<NamedObjectCacheObjectRawData>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn delete_object<'life0, 'life1, 'async_trait>(
&'life0 self,
req: &'life1 NamedObjectCacheDeleteObjectRequest
) -> Pin<Box<dyn Future<Output = BuckyResult<NamedObjectCacheDeleteObjectResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn exists_object<'life0, 'life1, 'async_trait>(
&'life0 self,
req: &'life1 NamedObjectCacheExistsObjectRequest
) -> Pin<Box<dyn Future<Output = BuckyResult<NamedObjectCacheExistsObjectResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn update_object_meta<'life0, 'life1, 'async_trait>(
&'life0 self,
req: &'life1 NamedObjectCacheUpdateObjectMetaRequest
) -> Pin<Box<dyn Future<Output = BuckyResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn check_object_access<'life0, 'life1, 'async_trait>(
&'life0 self,
req: &'life1 NamedObjectCacheCheckObjectAccessRequest
) -> Pin<Box<dyn Future<Output = BuckyResult<Option<()>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn stat<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = BuckyResult<NamedObjectCacheStat>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn bind_object_meta_access_provider(
&self,
object_meta_access_provider: NamedObjectCacheObjectMetaAccessProviderRef
);
// Provided method
fn get_object<'life0, 'life1, 'async_trait>(
&'life0 self,
req: &'life1 NamedObjectCacheGetObjectRequest
) -> Pin<Box<dyn Future<Output = BuckyResult<Option<NamedObjectCacheObjectData>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
}