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)?; let content = serde_json::to_vec(pkt)?;
dbg!(std::str::from_utf8(&content));
let size = content.len() as u32; let size = content.len() as u32;
// add size bytes // add size bytes
res.extend_from_slice(&size.to_be_bytes()); res.extend_from_slice(&size.to_be_bytes());

View File

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