cyfs_lib/trans/
processor.rs1use crate::*;
2use cyfs_base::BuckyResult;
3use std::sync::Arc;
4
5#[async_trait::async_trait]
6pub trait TransOutputProcessor: Send + Sync {
7 async fn get_context(&self, req: TransGetContextOutputRequest) -> BuckyResult<TransGetContextOutputResponse>;
8 async fn put_context(&self, req: TransPutContextOutputRequest) -> BuckyResult<()>;
9 async fn create_task(
10 &self,
11 req: TransCreateTaskOutputRequest,
12 ) -> BuckyResult<TransCreateTaskOutputResponse>;
13 async fn control_task(&self, req: TransControlTaskOutputRequest) -> BuckyResult<()>;
14 async fn query_tasks(
15 &self,
16 req: TransQueryTasksOutputRequest,
17 ) -> BuckyResult<TransQueryTasksOutputResponse>;
18 async fn get_task_state(
19 &self,
20 req: TransGetTaskStateOutputRequest,
21 ) -> BuckyResult<TransGetTaskStateOutputResponse>;
22 async fn publish_file(
23 &self,
24 req: TransPublishFileOutputRequest,
25 ) -> BuckyResult<TransPublishFileOutputResponse>;
26
27 async fn get_task_group_state(
29 &self,
30 req: TransGetTaskGroupStateOutputRequest,
31 ) -> BuckyResult<TransGetTaskGroupStateOutputResponse>;
32 async fn control_task_group(
33 &self,
34 req: TransControlTaskGroupOutputRequest,
35 ) -> BuckyResult<TransControlTaskGroupOutputResponse>;
36}
37
38pub type TransOutputProcessorRef = Arc<dyn TransOutputProcessor>;