1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use std::time::SystemTime;
use crate::sn::types::SnServiceReceipt;
use crate::{ReceiptWithSignature};
use cyfs_base::*;
pub type IsRequestReceipt = bool;
#[derive(Copy, Clone, Debug)]
pub enum IsAcceptClient {
Refuse,
Accept(IsRequestReceipt)
}
#[derive(Debug, Copy, Clone)]
pub enum ReceiptRequestTime {
None,
Wait(SystemTime), Last(SystemTime), }
pub trait SnServiceContractServer {
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;
}