feat: 使传递给板子的数据结构紧凑。

This commit is contained in:
Ivan Li 2023-05-15 23:15:52 +08:00
parent c44018e633
commit 42d65a559d
2 changed files with 21 additions and 18 deletions

View File

@ -64,25 +64,29 @@ async fn main() {
let state = statistics_manager.get_state().await; let state = statistics_manager.get_state().await;
// stdout() stdout()
// .write_all( .write_all(
// format!( format!(
// "len: {},speed_upload: {}, speed_download: {}, update_direct_speed: {}, download_direct_speed: {}, update_proxy_speed: {}, download_proxy_speed: {}\n", "len: {},speed_upload: {}, speed_download: {}, update_direct_speed: {}, download_direct_speed: {}, update_proxy_speed: {}, download_proxy_speed: {}\n",
// state.connections, state.connections,
// state.speed_upload, state.speed_upload,
// state.speed_download, state.speed_download,
// state.direct_upload_speed, state.direct_upload_speed,
// state.direct_download_speed, state.direct_download_speed,
// state.proxy_upload_speed, state.proxy_upload_speed,
// state.proxy_download_speed, state.proxy_download_speed,
// ) )
// .as_bytes(), .as_bytes(),
// ) )
// .await .await
// .unwrap(); .unwrap();
let udp_server = udp_server::UdpServer::global().await; let udp_server = udp_server::UdpServer::global().await;
let buf = serde_json::to_vec(&state).unwrap(); let mut buf = [0; 32];
buf[0..8].copy_from_slice(&state.direct_upload_speed.to_le_bytes());
buf[8..16].copy_from_slice(&state.direct_download_speed.to_le_bytes());
buf[16..24].copy_from_slice(&state.proxy_upload_speed.to_le_bytes());
buf[24..32].copy_from_slice(&state.proxy_download_speed.to_le_bytes());
udp_server.publish(&buf).await; udp_server.publish(&buf).await;
}) })
}; };

View File

@ -62,7 +62,6 @@ impl UdpServer {
let socket = UdpSocket::bind((self.listen_addr, self.listen_port)).await?; let socket = UdpSocket::bind((self.listen_addr, self.listen_port)).await?;
loop { loop {
info!("Waiting for data");
let (len, addr) = socket.recv_from(&mut buf).await?; let (len, addr) = socket.recv_from(&mut buf).await?;
info!("Received data({}) from {}", len, addr); info!("Received data({}) from {}", len, addr);