summaryrefslogtreecommitdiffstats
path: root/src/transport/firewall.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-24 05:58:37 +0200
committertv <tv@krebsco.de>2026-10-24 05:58:37 +0200
commite0ab17f665bb476329e0c7f980f31bb10cbfc944 (patch)
treed2a76c673eb19cfa2f94563178d01c9ee151962f /src/transport/firewall.rs
parent78b0a3a239a4a5921a0504bc040e5303cac5b979 (diff)
add traffic counter
This introduces a new wrapper that counts messages and payload bytes per peer, split by kind (hello, helloReply, sync, ping, pong), each sent, received and refused. The traffic counter goes around the firewall, which means messages dropped outbound are still counted as sent, and messages dropped inbound don't count as received.
Diffstat (limited to 'src/transport/firewall.rs')
-rw-r--r--src/transport/firewall.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/transport/firewall.rs b/src/transport/firewall.rs
index 84fdc59..b8e05cd 100644
--- a/src/transport/firewall.rs
+++ b/src/transport/firewall.rs
@@ -89,12 +89,12 @@ impl Transport for FirewallTransport {
let firewall = Arc::clone(&self.firewall);
self.inner
- .start_consumer(Box::new(move |sender, message| {
+ .start_consumer(Box::new(move |sender, message, payload_len| {
if firewall.blocks_inbound(&sender) {
tracing::trace!(peer = %sender, "Firewall dropped inbound message");
return Box::pin(async { Ok(()) });
}
- handler(sender, message)
+ handler(sender, message, payload_len)
}))
.await
}