Skip to content

Add per-app bandwidth counting machinery

eta requested to merge eta/per-app-bandwidth into main
  • The TunnelScaffolding gains a new get_bandwidth_counter method that lets scaffolding implementations provide a per-app bandwidth counter.
  • This gets updated by the InteractiveCopier inside onion-tunnel when traffic is sent and received over the tunnel.
    • Note that it doesn't capture any Tor network-induced overheads, like cell framing etc. (although those are still captured in the global bandwidth counters, they aren't attributable per-app)
  • The BandwidthCounter type was extended briefly to be able to support this usecase (instead of just being used for a global counter).
  • A terrible Java implementation of this concept demonstrates that it works by awkwardly hacking on to the existing app list view.

Closes #39 (closed).

Merge request reports