From 32a220f17cc701e0b2096ee588f2f6556a420820 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Thu, 30 Nov 2023 17:28:32 +0000 Subject: [PATCH] Shorten debug for messages --- crates/dht/src/bprotocol.rs | 34 ++++++++++++++++++++++++++++++---- crates/dht/src/dht.rs | 2 +- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/crates/dht/src/bprotocol.rs b/crates/dht/src/bprotocol.rs index 5db82fe..9e3834d 100644 --- a/crates/dht/src/bprotocol.rs +++ b/crates/dht/src/bprotocol.rs @@ -163,17 +163,27 @@ struct RawMessage { ip: Option, } -#[derive(Debug)] pub struct Node { pub id: Id20, pub addr: SocketAddrV4, } -#[derive(Debug)] +impl core::fmt::Debug for Node { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "<{:?}; {}>", self.id, self.addr) + } +} + pub struct CompactNodeInfo { pub nodes: Vec, } +impl core::fmt::Debug for CompactNodeInfo { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.nodes) + } +} + impl Serialize for CompactNodeInfo { fn serialize(&self, serializer: S) -> Result where @@ -230,11 +240,16 @@ impl<'de> Deserialize<'de> for CompactNodeInfo { } } -#[derive(Debug)] pub struct CompactPeerInfo { pub addr: SocketAddrV4, } +impl core::fmt::Debug for CompactPeerInfo { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.addr) + } +} + impl Serialize for CompactPeerInfo { fn serialize(&self, serializer: S) -> Result where @@ -343,7 +358,6 @@ impl Message { } } -#[derive(Debug)] pub enum MessageKind { Error(ErrorDescription), GetPeersRequest(GetPeersRequest), @@ -352,6 +366,18 @@ pub enum MessageKind { PingRequest(PingRequest), } +impl core::fmt::Debug for MessageKind { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Self::Error(e) => write!(f, "{e:?}"), + Self::GetPeersRequest(r) => write!(f, "{r:?}"), + Self::FindNodeRequest(r) => write!(f, "{r:?}"), + Self::Response(r) => write!(f, "{r:?}"), + Self::PingRequest(r) => write!(f, "{r:?}"), + } + } +} + pub fn serialize_message<'a, W: Write, BufT: Serialize + From<&'a [u8]>>( writer: &mut W, transaction_id: BufT, diff --git a/crates/dht/src/dht.rs b/crates/dht/src/dht.rs index 5f91aea..6aacea4 100644 --- a/crates/dht/src/dht.rs +++ b/crates/dht/src/dht.rs @@ -638,7 +638,7 @@ impl DhtState { _ => {} }; - trace!("received query: {:?}", msg); + trace!("received query from {addr}: {msg:?}"); match &msg.kind { // Otherwise, respond to a query.