pub trait NamedObjectCache: Sync + Send + 'static {
fn insert_object<'life0, 'life1, 'async_trait>(
&'life0 self,
obj_info: &'life1 NamedObjectCacheInsertObjectRequest
) -> Pin<Box<dyn Future<Output = BuckyResult<NamedObjectCacheInsertResponse>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn get_object<'life0, 'life1, 'async_trait>(
&'life0 self,
req: &'life1 NamedObjectCacheGetObjectRequest
) -> Pin<Box<dyn Future<Output = BuckyResult<Option<ObjectCacheData>>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn select_object<'life0, 'life1, 'async_trait>(
&'life0 self,
req: &'life1 NamedObjectCacheSelectObjectRequest
) -> Pin<Box<dyn Future<Output = BuckyResult<Vec<ObjectCacheData>>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn delete_object<'life0, 'life1, 'async_trait>(
&'life0 self,
req: &'life1 NamedObjectCacheDeleteObjectRequest
) -> Pin<Box<dyn Future<Output = BuckyResult<NamedObjectCacheDeleteObjectResult>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn stat<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = BuckyResult<NamedObjectCacheStat>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn sync_server(&self) -> Option<Box<dyn NamedObjectCacheSyncServer>>;
fn sync_client(&self) -> Option<Box<dyn NamedObjectCacheSyncClient>>;
fn clone_noc(&self) -> Box<dyn NamedObjectCache>;
}