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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
use Bytes;
use ;
// impl<Address> OutgoingMessage<Address>
// where
// Address: AddressT,
// {
// fn new<T: Serialize>(wrapper: PacketWrapper<Address, T>) -> Self {
// let to = match &wrapper {
// PacketWrapper::Response { request_origin, .. } => request_origin,
// PacketWrapper::Request { receiver, .. } => receiver,
// };
// let bytes = BytesMut::new();
// let mut writer = bytes.writer();
// serde_json::to_writer(&mut writer, &wrapper).expect("serialization should not fail");
// let bytes = writer.into_inner();
// Self {
// to: to.clone(),
// message: bytes.freeze(),
// }
// }
// pub(crate) fn new_notification<T: OutgoingNotification>(
// sender: Address,
// receiver: Address,
// data: &T,
// ) -> Self {
// Self::new(PacketWrapper::Request {
// sender,
// receiver,
// request: T::name().to_owned(),
// response: None,
// data,
// })
// }
// pub fn new_request<T: OutgoingRequest>(
// sender: Address,
// receiver: Address,
// id: String,
// data: &T,
// ) -> Self
// where
// T::Response: DeserializeOwned,
// {
// Self::new(PacketWrapper::Request {
// sender,
// receiver,
// request: T::name().to_owned(),
// response: Some(ResponseTo { rid: id.to_owned() }),
// data,
// })
// }
// pub fn new_error_response<E: Display>(rid: &str, receiver: Address, error: E) -> Self {
// Self::new(PacketWrapper::Response {
// rid: rid.to_owned(),
// request_origin: receiver,
// error: Some(error.to_string()),
// data: (),
// })
// }
// pub fn new_response<T: Serialize>(rid: &str, receiver: Address, data: &T) -> Self {
// Self::new(PacketWrapper::Response {
// rid: rid.to_owned(),
// request_origin: receiver,
// error: None,
// data,
// })
// }
// }
;