3#include <QtCore/QChronoTimer>
4#include <QtCore/QElapsedTimer>
6#include <QtCore/QObject>
7#include <QtCore/QVariant>
8#include <QtCore/QVariantList>
9#include <QtQmlIntegration/QtQmlIntegration>
45 double correctionAgeSec()
const {
return _lastMessageTime.isValid() ? _lastMessageTime.elapsed() / 1000.0 : -1.0; }
60 static constexpr std::chrono::milliseconds kStaleThreshold{5000};
63 quint64 _prevBytesReceived = 0;
64 quint32 _messagesReceived = 0;
65 quint32 _prevMessagesReceived = 0;
66 bool _dataStale =
false;
67 bool _messageCountsDirty =
false;
68 QElapsedTimer _lastMessageTime;
69 QChronoTimer _rateTimer;
71 QHash<int, quint32> _messageCountsById;
double bytesPerSec() const
quint64 totalBytes() const
Total bytes recorded since construction or last reset.
double correctionAgeSec() const
void messageCountsByIdChanged()
quint32 messagesReceived() const
quint64 bytesReceived() const
double dataRateBytesPerSec() const
void correctionAgeChanged()
void messagesReceivedChanged()
void bytesReceivedChanged()
QVariantList messageCountsById() const
void recordMessage(int bytes, int messageId=0)