6#include <QtCore/QObject>
7#include <QtQmlIntegration/QtQmlIntegration>
43 void recordMessage(
int bytes,
int messageId, qint64 receivedAtMs);
65 bool _updateDataStale(std::chrono::milliseconds now);
66 std::chrono::milliseconds _now()
const;
68 const std::chrono::milliseconds _staleAfter;
72 quint32 _messagesReceived = 0;
73 bool _dataStale =
false;
75 std::chrono::milliseconds _lastReceivedAt{0};
76 std::chrono::milliseconds _startedAt{0};
77 QHash<int, quint32> _messageCountsById;
double bytesPerSec() const
Rate of the last completed window, in bytes/sec.
quint64 totalBytes() const
Total bytes recorded since construction or last reset.
void recordMessage(int bytes, int messageId, qint64 receivedAtMs)
Count every message; health uses the newest valid receipt on the scheduler's clock.
double correctionAgeSec() const
bool dataUsageHigh() const
quint32 messagesReceived() const
quint64 bytesReceived() const
double dataRateBytesPerSec() const
static constexpr quint64 DATA_USAGE_WARNING_BYTES
More than DATA_USAGE_WARNING_BYTES received, which may cost money on metered connections.
QList< RTCMMessageCount > messageCountsById() const