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
use crate::{resp::Command, PubSubSender, ValueSender, MonitorSender};
#[derive(Debug)]
pub(crate) struct Message {
pub command: Command,
pub value_sender: Option<ValueSender>,
pub pub_sub_senders: Option<Vec<(Vec<u8>, PubSubSender)>>,
pub monitor_sender: Option<MonitorSender>,
}
impl Message {
pub fn new(command: Command) -> Self {
Self {
command,
value_sender: None,
pub_sub_senders: None,
monitor_sender: None,
}
}
#[allow(dead_code)]
pub fn value_sender(mut self, value_sender: ValueSender) -> Self {
self.value_sender = Some(value_sender);
self
}
#[allow(dead_code)]
pub fn pub_sub_senders(mut self, pub_sub_senders: Vec<(Vec<u8>, PubSubSender)>) -> Self {
self.pub_sub_senders = Some(pub_sub_senders);
self
}
#[allow(dead_code)]
pub fn monitor_sender(mut self, monitor_sender: MonitorSender) -> Self {
self.monitor_sender = Some(monitor_sender);
self
}
}