Package net.i2p.router.transport.udp
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 Summary
Constructors Constructor Description SimpleBandwidthEstimator(I2PAppContext ctx, PeerState state)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addSample(int acked)
Records an arriving ack.float
getBandwidthEstimate()
String
toString()
-
-
-
Constructor Detail
-
SimpleBandwidthEstimator
SimpleBandwidthEstimator(I2PAppContext ctx, PeerState state)
-
-
Method Detail
-
addSample
public void addSample(int acked)
Records an arriving ack.- Specified by:
addSample
in interfaceBandwidthEstimator
- Parameters:
acked
- how many bytes were acked with this ack
-
getBandwidthEstimate
public float getBandwidthEstimate()
- Specified by:
getBandwidthEstimate
in interfaceBandwidthEstimator
- Returns:
- the current bandwidth estimate in bytes/ms.
-
-