From a4201f4407b1eab00f8cf2540931ea370b086a02 Mon Sep 17 00:00:00 2001 From: Green Sky Date: Mon, 27 May 2024 11:31:36 +0200 Subject: [PATCH] track timepoint of last update --- solanaceae/ngc_ft1/flow_only.cpp | 4 ++++ solanaceae/ngc_ft1/flow_only.hpp | 3 +++ 2 files changed, 7 insertions(+) diff --git a/solanaceae/ngc_ft1/flow_only.cpp b/solanaceae/ngc_ft1/flow_only.cpp index cba9848..8c769dd 100644 --- a/solanaceae/ngc_ft1/flow_only.cpp +++ b/solanaceae/ngc_ft1/flow_only.cpp @@ -114,6 +114,8 @@ void FlowOnly::onSent(SeqIDType seq, size_t data_size) { ); _in_flight_bytes += data_size + SEGMENT_OVERHEAD; //_recently_sent_bytes += data_size + SEGMENT_OVERHEAD; + + _time_point_last_update = getTimeNow(); } void FlowOnly::onAck(std::vector seqs) { @@ -124,6 +126,8 @@ void FlowOnly::onAck(std::vector seqs) { const auto now {getTimeNow()}; + _time_point_last_update = now; + // first seq in seqs is the actual value, all extra are for redundency { // skip in ack is congestion event // 1. look at primary ack of packet diff --git a/solanaceae/ngc_ft1/flow_only.hpp b/solanaceae/ngc_ft1/flow_only.hpp index 90262c6..3cdd2ed 100644 --- a/solanaceae/ngc_ft1/flow_only.hpp +++ b/solanaceae/ngc_ft1/flow_only.hpp @@ -38,6 +38,9 @@ struct FlowOnly : public CCAI { clock::time_point _time_start_offset; + // used to clamp growth rate in the void + double _time_point_last_update {getTimeNow()}; + protected: // make values relative to algo start for readability (and precision) // get timestamp in seconds