ave_core/helpers/network/
mod.rs1use ave_actors::Message;
2use ave_common::identity::{DigestIdentifier, Signed};
3use network::ComunicateInfo;
4use serde::{Deserialize, Serialize};
5
6use crate::{
7 approval::{request::ApprovalReq, response::ApprovalRes},
8 evaluation::{request::EvaluationReq, response::EvaluationRes},
9 subject::SignedLedger,
10 validation::{request::ValidationReq, response::ValidationRes},
11};
12
13pub mod error;
14pub mod intermediary;
15pub mod service;
16
17#[derive(Debug, Serialize, Deserialize, Clone)]
18pub enum ActorMessage {
19 ValidationReq {
20 req: Signed<ValidationReq>,
21 },
22 ValidationRes {
23 res: Signed<ValidationRes>,
24 },
25 EvaluationReq {
26 req: Box<Signed<EvaluationReq>>,
27 },
28 EvaluationRes {
29 res: Signed<EvaluationRes>,
30 },
31 ApprovalReq {
32 req: Signed<ApprovalReq>,
33 },
34 ApprovalRes {
35 res: Box<Signed<ApprovalRes>>,
36 },
37 DistributionLastEventReq {
38 ledger: Box<SignedLedger>,
39 },
40 DistributionLastEventRes,
41 DistributionLedgerReq {
42 actual_sn: Option<u64>,
43 subject_id: DigestIdentifier,
44 },
45 DistributionLedgerRes {
46 ledger: Vec<SignedLedger>,
47 is_all: bool,
48 },
49 DistributionGetLastSn {
50 subject_id: DigestIdentifier,
51 receiver_actor: String,
52 },
53 AuthLastSn {
54 sn: u64,
55 },
56}
57
58#[derive(Debug, Serialize, Deserialize, Clone)]
59pub struct NetworkMessage {
60 pub info: ComunicateInfo,
61 pub message: ActorMessage,
62}
63
64impl Message for NetworkMessage {}