Class SimpleBandwidthEstimator

java.lang.Object
net.i2p.router.transport.udp.SimpleBandwidthEstimator
All Implemented Interfaces:
BandwidthEstimator

class SimpleBandwidthEstimator extends Object implements BandwidthEstimator
A Westwood+ bandwidth estimator with a first stage anti-aliasing low pass filter based on RTT, and the time-varying Westwood filter based on inter-arrival time. Ref: TCP Westwood: End-to-End Congestion Control for Wired/Wireless Networks Casetti et al (Westwood) Ref: End-to-End Bandwidth Estimation for Congestion Control in Packet Networks Grieco and Mascolo (Westwood+) Adapted from: Linux kernel tcp_westwood.c (GPLv2)
Since:
0.9.49 adapted from streaming
  • Constructor Details

  • Method Details

    • addSample

      public void addSample(int acked)
      Records an arriving ack.
      Specified by:
      addSample in interface BandwidthEstimator
      Parameters:
      acked - how many bytes were acked with this ack
    • getBandwidthEstimate

      public float getBandwidthEstimate()
      Specified by:
      getBandwidthEstimate in interface BandwidthEstimator
      Returns:
      the current bandwidth estimate in bytes/ms.
    • toString

      public String toString()
      Overrides:
      toString in class Object