cyfs_lib/crypto/
processor.rs1use super::output_request::*;
2use cyfs_base::*;
3
4use std::sync::Arc;
5
6#[async_trait::async_trait]
7pub trait CryptoOutputProcessor: Sync + Send + 'static {
8 async fn verify_object(
9 &self,
10 req: CryptoVerifyObjectOutputRequest,
11 ) -> BuckyResult<CryptoVerifyObjectOutputResponse>;
12
13 async fn sign_object(
14 &self,
15 req: CryptoSignObjectOutputRequest,
16 ) -> BuckyResult<CryptoSignObjectOutputResponse>;
17
18 async fn encrypt_data(
19 &self,
20 req: CryptoEncryptDataOutputRequest,
21 ) -> BuckyResult<CryptoEncryptDataOutputResponse>;
22
23 async fn decrypt_data(
24 &self,
25 req: CryptoDecryptDataOutputRequest,
26 ) -> BuckyResult<CryptoDecryptDataOutputResponse>;
27}
28
29pub type CryptoOutputProcessorRef = Arc<Box<dyn CryptoOutputProcessor>>;