blob: 14acaba2b3fc5a89a68f2973c49438bcb6a4f12a (
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
25
|
#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;
double elapsed() const;
private:
QElapsedTimer m_timer;
QLinkedList<QPair<qint64, qint64> > m_segments;
qint64 m_byteSum;
};
#endif // RATECALCULATOR_H
|