rf_distributed/
message.rs

1use rf_core::export::Export;
2use serde::{Deserialize, Serialize};
3use std::time::SystemTime;
4
5/// This struct represent a message that will be sent between nodes.
6#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7pub struct Message {
8    pub source: i32,
9    pub export: Export,
10    pub timestamp: SystemTime,
11}
12
13impl Message {
14    pub fn new(source: i32, p1: Export, sys_t: SystemTime) -> Self {
15        Self {
16            source,
17            export: p1,
18            timestamp: sys_t,
19        }
20    }
21}
22
23#[cfg(test)]
24mod test {
25    use super::*;
26    use rf_core::export;
27    use rf_core::path::Path;
28    use std::any::Any;
29
30    #[test]
31    fn test_new() {
32        let export = export!((Path::new(), 1));
33        let msg = Message::new(1, export.clone(), SystemTime::now());
34        assert_eq!(msg.source, 1);
35        assert_eq!(msg.export, export);
36    }
37}