From 2b18bd4ec344ba9e8307e4afb0bb44197311a7fb Mon Sep 17 00:00:00 2001 From: Aram Peres Date: Sat, 8 Jan 2022 14:41:12 -0500 Subject: [PATCH] Remove unused dependency. Improve trace logging perf. --- Cargo.lock | 11 ----------- Cargo.toml | 1 - src/events.rs | 44 ++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 42 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d073744..920a630 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -171,16 +171,6 @@ dependencies = [ "unreachable", ] -[[package]] -name = "dashmap" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c" -dependencies = [ - "cfg-if", - "num_cpus", -] - [[package]] name = "either" version = "1.6.1" @@ -549,7 +539,6 @@ dependencies = [ "async-trait", "boringtun", "clap", - "dashmap", "futures", "log", "nom", diff --git a/Cargo.toml b/Cargo.toml index a1124cf..53d4b76 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,5 +17,4 @@ futures = "0.3.17" rand = "0.8.4" nom = "7" async-trait = "0.1.51" -dashmap = "4.0.2" priority-queue = "1.2.0" diff --git a/src/events.rs b/src/events.rs index 33f8ab9..7c0a194 100644 --- a/src/events.rs +++ b/src/events.rs @@ -1,3 +1,4 @@ +use std::fmt::{Display, Formatter}; use std::sync::atomic::{AtomicU32, Ordering}; use std::sync::Arc; @@ -26,6 +27,45 @@ pub enum Event { VirtualDeviceFed(PortProtocol), } +impl Display for Event { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + match self { + Event::Dumb => { + write!(f, "Dumb{{}}") + } + Event::ClientConnectionInitiated(pf, vp) => { + write!(f, "ClientConnectionInitiated{{ pf={} vp={} }}", pf, vp) + } + Event::ClientConnectionDropped(vp) => { + write!(f, "ClientConnectionDropped{{ vp={} }}", vp) + } + Event::LocalData(pf, vp, data) => { + let size = data.len(); + write!(f, "LocalData{{ pf={} vp={} size={} }}", pf, vp, size) + } + Event::RemoteData(vp, data) => { + let size = data.len(); + write!(f, "RemoteData{{ vp={} size={} }}", vp, size) + } + Event::InboundInternetPacket(proto, data) => { + let size = data.len(); + write!( + f, + "InboundInternetPacket{{ proto={} size={} }}", + proto, size + ) + } + Event::OutboundInternetPacket(data) => { + let size = data.len(); + write!(f, "OutboundInternetPacket{{ size={} }}", size) + } + Event::VirtualDeviceFed(proto) => { + write!(f, "VirtualDeviceFed{{ proto={} }}", proto) + } + } + } +} + #[derive(Clone)] pub struct Bus { counter: Arc, @@ -84,7 +124,7 @@ impl BusEndpoint { // If the event was sent by this endpoint, it is skipped continue; } else { - trace!("#{} <- {:?}", self.id, event); + trace!("#{} <- {}", self.id, event); return event; } } @@ -111,7 +151,7 @@ pub struct BusSender { impl BusSender { /// Sends the event on the bus. Note that the messages sent by this endpoint won't reach itself. pub fn send(&self, event: Event) { - trace!("#{} -> {:?}", self.id, event); + trace!("#{} -> {}", self.id, event); match self.tx.send((self.id, event)) { Ok(_) => {} Err(_) => error!("Failed to send event to bus from endpoint #{}", self.id),