Print simple HelloCmd packet

This commit is contained in:
Joscha 2022-02-07 22:44:30 +01:00
parent 0c9f5e91a3
commit 5cf0f76477
5 changed files with 121 additions and 7 deletions

View file

@ -4,3 +4,4 @@ version = "0.1.0"
edition = "2021"
[dependencies]
serde = { version = "1.0.136", features = ["derive"] }

View file

@ -1,8 +1,25 @@
#[cfg(test)]
mod tests {
#[test]
fn it_works() {
let result = 2 + 2;
assert_eq!(result, 4);
}
use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize)]
pub struct HelloCmd {
pub name: String,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct HelloRpl {
pub msg: String,
}
#[derive(Debug, Deserialize, Serialize)]
#[serde(tag = "type")]
pub enum Data {
HelloCmd(HelloCmd),
HelloRpl(HelloRpl),
}
#[derive(Debug, Deserialize, Serialize)]
pub struct Packet {
pub id: u64,
#[serde(flatten)]
pub data: Data,
}