From 059628c26a6a083f90c86bcb6402f63cd1656518 Mon Sep 17 00:00:00 2001 From: wangyix Date: Thu, 3 Jul 2014 10:37:09 -0700 Subject: [PATCH] fixed bug in SequenceNumberStats and its unit test; test passes now --- libraries/networking/src/SequenceNumberStats.cpp | 3 +-- tests/networking/src/SequenceNumberStatsTests.cpp | 13 +++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/libraries/networking/src/SequenceNumberStats.cpp b/libraries/networking/src/SequenceNumberStats.cpp index 5bdeedf39d..5174d53ba2 100644 --- a/libraries/networking/src/SequenceNumberStats.cpp +++ b/libraries/networking/src/SequenceNumberStats.cpp @@ -94,6 +94,7 @@ void SequenceNumberStats::sequenceNumberReceived(quint16 incoming, QUuid senderU _numEarly++; _numLost += (incomingInt - expectedInt); + _lastReceived = incoming; // add all sequence numbers that were skipped to the missing sequence numbers list for (int missingInt = expectedInt; missingInt < incomingInt; missingInt++) { @@ -105,8 +106,6 @@ void SequenceNumberStats::sequenceNumberReceived(quint16 incoming, QUuid senderU if (_missingSet.size() > MAX_REASONABLE_SEQUENCE_GAP) { pruneMissingSet(wantExtraDebugging); } - - _lastReceived = incoming; } else { // late if (wantExtraDebugging) { qDebug() << "this packet is later than expected..."; diff --git a/tests/networking/src/SequenceNumberStatsTests.cpp b/tests/networking/src/SequenceNumberStatsTests.cpp index 89a14deb20..8d37a3e41f 100644 --- a/tests/networking/src/SequenceNumberStatsTests.cpp +++ b/tests/networking/src/SequenceNumberStatsTests.cpp @@ -115,6 +115,11 @@ void SequenceNumberStatsTests::earlyLateTest() { } } stats.reset(); + numSent = 0; + numEarly = 0; + numLate = 0; + numLost = 0; + numRecovered = 0; } } @@ -203,6 +208,11 @@ void SequenceNumberStatsTests::duplicateTest() { } } stats.reset(); + numSent = 0; + numDuplicate = 0; + numEarly = 0; + numLate = 0; + numLost = 0; } } @@ -263,5 +273,8 @@ void SequenceNumberStatsTests::pruneTest() { } } stats.reset(); + numSent = 0; + numEarly = 0; + numLost = 0; } }