more consize debug logging for packets
This commit is contained in:
parent
7cf6b4e38e
commit
dedf273773
@ -1,4 +1,4 @@
|
|||||||
use std::net::SocketAddr;
|
use std::{fmt::Debug, net::SocketAddr};
|
||||||
|
|
||||||
use anyhow::bail;
|
use anyhow::bail;
|
||||||
use bytemuck::{Pod, Zeroable};
|
use bytemuck::{Pod, Zeroable};
|
||||||
@ -65,19 +65,38 @@ impl PacketKind {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, Clone, Copy, Pod, Zeroable)]
|
#[derive(Default, Clone, Copy, Pod, Zeroable)]
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
pub struct Header {
|
pub struct Header {
|
||||||
pub kind: u8,
|
pub kind: u8,
|
||||||
pub length: u8,
|
pub length: u8,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Default, Clone)]
|
#[derive(Default, Clone)]
|
||||||
pub struct Packet {
|
pub struct Packet {
|
||||||
pub header: Header,
|
pub header: Header,
|
||||||
pub data: Vec<u8>,
|
pub data: Vec<u8>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Debug for Packet {
|
||||||
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
|
let data = &self.data;
|
||||||
|
|
||||||
|
let str_data = std::str::from_utf8(&data[..data.len() - 1]).ok();
|
||||||
|
|
||||||
|
let data = if let Some(str_data) = str_data.as_ref() {
|
||||||
|
str_data as &dyn Debug
|
||||||
|
} else {
|
||||||
|
&data as &dyn Debug
|
||||||
|
};
|
||||||
|
|
||||||
|
f.debug_struct("Packet")
|
||||||
|
.field("kind", &PacketKind::from_u8(self.header.kind))
|
||||||
|
.field("data", &data)
|
||||||
|
.finish()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, Clone, Copy)]
|
#[derive(Default, Debug, Clone, Copy)]
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
pub struct RemConnect {
|
pub struct RemConnect {
|
||||||
|
Loading…
Reference in New Issue
Block a user