From fc8707dc05442ef2a47848c77c16700bd0693042 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 31 Mar 2016 18:01:00 -0700 Subject: [PATCH] add suppression for unreasonable sequence number messages --- libraries/networking/src/SequenceNumberStats.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libraries/networking/src/SequenceNumberStats.cpp b/libraries/networking/src/SequenceNumberStats.cpp index f4dc7e62e9..6d7b271606 100644 --- a/libraries/networking/src/SequenceNumberStats.cpp +++ b/libraries/networking/src/SequenceNumberStats.cpp @@ -10,10 +10,13 @@ // #include "SequenceNumberStats.h" -#include "NetworkLogging.h" #include +#include + +#include "NetworkLogging.h" + float PacketStreamStats::getLostRate() const { return (_expectedReceived == 0) ? 0.0f : (float)_lost / (float)_expectedReceived; } @@ -63,6 +66,7 @@ SequenceNumberStats::ArrivalInfo SequenceNumberStats::sequenceNumberReceived(qui arrivalInfo._status = OnTime; _lastReceivedSequence = incoming; _stats._expectedReceived++; + } else { // out of order if (wantExtraDebugging) { @@ -85,6 +89,9 @@ SequenceNumberStats::ArrivalInfo SequenceNumberStats::sequenceNumberReceived(qui } else if (absGap > MAX_REASONABLE_SEQUENCE_GAP) { arrivalInfo._status = Unreasonable; + static const QString UNREASONABLE_SEQUENCE_REGEX { "unreasonable sequence number: \\d+ previous: \\d+" }; + static QString repeatedMessage = LogHandler::getInstance().addRepeatedMessageRegex(UNREASONABLE_SEQUENCE_REGEX); + qCDebug(networking) << "unreasonable sequence number:" << incoming << "previous:" << _lastReceivedSequence; _stats._unreasonable++; @@ -147,6 +154,9 @@ SequenceNumberStats::ArrivalInfo SequenceNumberStats::sequenceNumberReceived(qui arrivalInfo._status = Unreasonable; + static const QString UNREASONABLE_SEQUENCE_REGEX { "unreasonable sequence number: \\d+ \\(possible duplicate\\)" }; + static QString repeatedMessage = LogHandler::getInstance().addRepeatedMessageRegex(UNREASONABLE_SEQUENCE_REGEX); + qCDebug(networking) << "unreasonable sequence number:" << incoming << "(possible duplicate)"; _stats._unreasonable++;