blob: a8bec1c9f503bd850aa6f28d9fcb1271307c2ba1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#ifndef RATECALCULATOR_H
#define RATECALCULATOR_H
#include <QtGlobal>
#include <QElapsedTimer>
#include <QLinkedList>
#include <QPair>
class RateCalculator
{
public:
void addBytes(qint64 bytes);
void updateTotalBytes(qint64 bytes);
void start();
void stop();
void reset();
double rate(qint64 interval = -1) const;
private:
QElapsedTimer m_timer;
QLinkedList<QPair<qint64, qint64> > m_segments;
qint64 m_byteSum;
};
#endif // RATECALCULATOR_H
|