25 lines
466 B
Rust
25 lines
466 B
Rust
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,
|
|
}
|