diff --git a/easytier/src/peers/peer_manager.rs b/easytier/src/peers/peer_manager.rs index 1a112d3..f9264e8 100644 --- a/easytier/src/peers/peer_manager.rs +++ b/easytier/src/peers/peer_manager.rs @@ -986,7 +986,19 @@ impl PeerManager { } pub async fn send_msg(&self, msg: ZCPacket, dst_peer_id: PeerId) -> Result<(), Error> { - Self::send_msg_internal(&self.peers, &self.foreign_network_client, msg, dst_peer_id).await + self.self_tx_counters + .self_tx_bytes + .add(msg.buf_len() as u64); + self.self_tx_counters.self_tx_packets.inc(); + let msg_len = msg.buf_len() as u64; + let result = + Self::send_msg_internal(&self.peers, &self.foreign_network_client, msg, dst_peer_id) + .await; + if result.is_ok() { + self.self_tx_counters.self_tx_bytes.add(msg_len); + self.self_tx_counters.self_tx_packets.inc(); + } + result } async fn send_msg_internal(