From 8b6d55b61b0a3f49dd146385a6eaa8e5f393cdae Mon Sep 17 00:00:00 2001 From: tv Date: Wed, 4 Nov 2026 20:36:04 +0100 Subject: benchmark delivered and twice --- src/swarm/stats.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/swarm/stats.rs') diff --git a/src/swarm/stats.rs b/src/swarm/stats.rs index 9d32baa..da7544f 100644 --- a/src/swarm/stats.rs +++ b/src/swarm/stats.rs @@ -110,6 +110,14 @@ pub(crate) struct Relay { /// Changes passed on along writers' trees (`swarm::tree`): a sync message asked for /// per child. pub(crate) tree_forwards: u64, + /// Sync messages sent taken as delivered (`SyncSession::assume_delivered`), and their + /// payload's bytes. + pub(crate) delivered: u64, + pub(crate) delivered_bytes: u64, + /// Sync messages received that carried changes, all of which we had already, and + /// their payload's bytes: changes that came twice. + pub(crate) nothing_new: u64, + pub(crate) nothing_new_bytes: u64, } /// When the initial sync finished, and what it took. @@ -204,6 +212,20 @@ impl NodeStats { self.lock().relay.tree_forwards += 1; } + /// A sync message taken as delivered went out, of `bytes` payload. + pub(crate) fn delivered_sent(&self, bytes: usize) { + let mut inner = self.lock(); + inner.relay.delivered += 1; + inner.relay.delivered_bytes += bytes as u64; + } + + /// A sync message of `bytes` payload carried changes, all of which we had already. + pub(crate) fn nothing_new(&self, bytes: usize) { + let mut inner = self.lock(); + inner.relay.nothing_new += 1; + inner.relay.nothing_new_bytes += bytes as u64; + } + /// A sync message of `bytes` arrived. pub(crate) fn sync_received(&self, bytes: usize) { let mut inner = self.lock(); -- cgit v1.3.1