catchunks: Improve CUBIC performance for lossy networks
Change-Id: I4baea5dcbc02d5c4a989330603e059daa55e767f
refs: #5036
diff --git a/tools/chunks/catchunks/pipeline-interests-cubic.cpp b/tools/chunks/catchunks/pipeline-interests-cubic.cpp
index b4ae43f..74aab0c 100644
--- a/tools/chunks/catchunks/pipeline-interests-cubic.cpp
+++ b/tools/chunks/catchunks/pipeline-interests-cubic.cpp
@@ -70,10 +70,10 @@
// 3. Target: W_cubic(t) = C*(t-K)^3 + wmax (Eq. 1)
const double wCubic = CUBIC_C * std::pow(t - k, 3) + m_wmax;
- // 4. Estimate of Reno Increase (Currently Disabled)
- // const double rtt = m_rtt->GetCurrentEstimate().GetSeconds();
- // const double w_est = wmax*m_beta + (3*(1-m_beta)/(1+m_beta)) * (t/rtt);
- const double wEst = 0.0;
+ // 4. Estimate of Reno Increase (Eq. 4)
+ const double rtt = m_rttEstimator.getSmoothedRtt().count() / 1e9;
+ const double wEst = m_wmax * m_options.cubicBeta +
+ (3 * (1 - m_options.cubicBeta) / (1 + m_options.cubicBeta)) * (t / rtt);
// Actual adaptation
double cubicIncrement = std::max(wCubic, wEst) - m_cwnd;