Option serde for socket

This commit is contained in:
asxalex 2024-02-17 11:15:44 +08:00
parent e6a5f2b459
commit f67204c2c8
2 changed files with 5 additions and 3 deletions

View File

@ -117,6 +117,8 @@ pub fn encode_packet<T: serde::Serialize>(cmn: &Common, pkt: &T) -> Result<Vec<u
let content = serde_json::to_vec(pkt)?;
dbg!(std::str::from_utf8(&content));
let size = content.len() as u32;
// add size bytes
res.extend_from_slice(&size.to_be_bytes());

View File

@ -7,7 +7,7 @@ pub struct RegisterSuper<'a> {
// pass, 用于给registersuper一个初步的雁阵固定8位
pub pass: &'a str,
// 自身的sock信息
pub sock: peer::SdlanSock,
pub sock: Option<peer::SdlanSock>,
// 自身的ip信息
pub dev_addr: peer::IpSubnet,
@ -44,14 +44,14 @@ mod test {
};
let pkt1 = RegisterSuper {
pass: "encrypt!",
sock: SdlanSock {
sock: Some(SdlanSock {
family: 0,
port: 1,
has_v6: true,
v6_port: 2345,
v4: [0; 4],
v6: [1; 16],
},
}),
dev_addr: peer::IpSubnet {
net_addr: atomic::AtomicU32::new(192),
net_bit_len: atomic::AtomicU8::new(24),