From 4c5ad8a03e41098bf6d43d65230f2e50e101efc1 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 21 Mar 2016 09:08:11 -0700 Subject: [PATCH] remove first congestion event drops --- libraries/networking/src/udt/CongestionControl.cpp | 11 ++--------- libraries/networking/src/udt/CongestionControl.h | 1 - 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/libraries/networking/src/udt/CongestionControl.cpp b/libraries/networking/src/udt/CongestionControl.cpp index 6f447e8233..e8afdc5fe2 100644 --- a/libraries/networking/src/udt/CongestionControl.cpp +++ b/libraries/networking/src/udt/CongestionControl.cpp @@ -137,6 +137,8 @@ void DefaultCC::onLoss(SequenceNumber rangeStart, SequenceNumber rangeEnd) { return; } } + + _loss = true; static const double INTER_PACKET_ARRIVAL_INCREASE = 1.125; static const int MAX_DECREASES_PER_CONGESTION_EPOCH = 5; @@ -145,13 +147,6 @@ void DefaultCC::onLoss(SequenceNumber rangeStart, SequenceNumber rangeEnd) { // NAK received occured for a packet sent after the last decrease if (rangeStart > _lastDecreaseMaxSeq) { - // check if we should skip handling of this loss event - // we do this if this congestion event represents only a single packet loss - if (rangeStart == rangeEnd) { - qDebug() << "Skipping a first loss event"; - return; - } - _lastDecreasePeriod = _packetSendPeriod; _packetSendPeriod = ceil(_packetSendPeriod * INTER_PACKET_ARRIVAL_INCREASE); @@ -183,8 +178,6 @@ void DefaultCC::onLoss(SequenceNumber rangeStart, SequenceNumber rangeEnd) { _packetSendPeriod = ceil(_packetSendPeriod * INTER_PACKET_ARRIVAL_INCREASE); _lastDecreaseMaxSeq = _sendCurrSeqNum; } - - _loss = true; } // Note: This isn't currently being called by anything since we, unlike UDT, don't have TTL on our packets diff --git a/libraries/networking/src/udt/CongestionControl.h b/libraries/networking/src/udt/CongestionControl.h index 2b64796bc5..c2b4227667 100644 --- a/libraries/networking/src/udt/CongestionControl.h +++ b/libraries/networking/src/udt/CongestionControl.h @@ -118,7 +118,6 @@ private: SequenceNumber _slowStartLastACK; // last ACKed seq num from previous slow start check bool _loss { false }; // if loss happened since last rate increase SequenceNumber _lastDecreaseMaxSeq; // max pkt seq num sent out when last decrease happened - SequenceNumber _firstLossFromEvent; // sequence number of first packet ignored for last congestion event double _lastDecreasePeriod { 1 }; // value of _packetSendPeriod when last decrease happened int _nakCount { 0 }; // number of NAKs in congestion epoch int _randomDecreaseThreshold { 1 }; // random threshold on decrease by number of loss events