cyfs_bdt/sn/service/
receipt.rs1use std::time::SystemTime;
2use crate::sn::types::SnServiceReceipt;
3use crate::{ReceiptWithSignature};
4use cyfs_base::*;
5
6pub type IsRequestReceipt = bool;
7#[derive(Copy, Clone, Debug)]
8pub enum IsAcceptClient {
9 Refuse,
10 Accept(IsRequestReceipt)
11}
12
13#[derive(Debug, Copy, Clone)]
14pub enum ReceiptRequestTime {
15 None,
16 Wait(SystemTime), Last(SystemTime), }
19
20pub trait SnServiceContractServer {
21 fn check_receipt(&self, client_peer_desc: &Device, local_receipt: &SnServiceReceipt, client_receipt: &Option<ReceiptWithSignature>, last_request_time: &ReceiptRequestTime, ) -> IsAcceptClient; fn verify_auth(&self, client_peer_id: &DeviceId) -> IsAcceptClient;
30}