cyfs_lib/crypto/
processor.rs

1use 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>>;