cyfs_lib/ndn/
processor.rs

1use super::output_request::*;
2use cyfs_base::*;
3
4use std::sync::Arc;
5
6#[async_trait::async_trait]
7pub trait NDNOutputProcessor: Sync + Send + 'static {
8    async fn put_data(&self, req: NDNPutDataOutputRequest)
9        -> BuckyResult<NDNPutDataOutputResponse>;
10
11    async fn get_data(&self, req: NDNGetDataOutputRequest)
12        -> BuckyResult<NDNGetDataOutputResponse>;
13
14    async fn put_shared_data(&self, req: NDNPutDataOutputRequest)
15                      -> BuckyResult<NDNPutDataOutputResponse>;
16
17    async fn get_shared_data(&self, req: NDNGetDataOutputRequest)
18                      -> BuckyResult<NDNGetDataOutputResponse>;
19
20    async fn delete_data(
21        &self,
22        req: NDNDeleteDataOutputRequest,
23    ) -> BuckyResult<NDNDeleteDataOutputResponse>;
24
25    async fn query_file(
26        &self,
27        req: NDNQueryFileOutputRequest,
28    ) -> BuckyResult<NDNQueryFileOutputResponse>;
29}
30
31pub type NDNOutputProcessorRef = Arc<Box<dyn NDNOutputProcessor>>;