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