cyfs_bdt/finder/
outer_device_cache.rs1use cyfs_base::*;
2use async_trait::async_trait;
3
4use std::sync::Arc;
5
6#[async_trait]
7pub trait OuterDeviceCache: Sync + Send + 'static {
8 async fn add(&self, device_id: &DeviceId, device: Device);
10
11 async fn get(&self, device_id: &DeviceId) -> Option<Device>;
13
14 async fn flush(&self, device_id: &DeviceId);
16
17 async fn search(&self, device_id: &DeviceId) -> BuckyResult<Device>;
19
20 async fn verfiy_owner(&self, device_id: &DeviceId, device: Option<&Device>) -> BuckyResult<()>;
22
23 async fn verfiy_own_signs(&self, object_id: &ObjectId, object: &Arc<AnyNamedObject>) -> BuckyResult<()>;
25
26 fn clone_cache(&self) -> Box<dyn OuterDeviceCache>;
27}