Change StreamTiming::timing_ from QList to QHash
Using QList meant we need to know the port count in the constructor - which is difficult to know because StreamTiming is designed as a singleton
This commit is contained in:
parent
757d3f1b24
commit
f4c21e1ae4
@ -21,12 +21,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
|
|||||||
|
|
||||||
#include "timestamp.h"
|
#include "timestamp.h"
|
||||||
|
|
||||||
StreamTiming::StreamTiming(int portCount)
|
StreamTiming::StreamTiming()
|
||||||
: QObject(nullptr) // FIXME: parent
|
: QObject(nullptr) // FIXME: parent
|
||||||
{
|
{
|
||||||
for (int i = 0; i < portCount; i++)
|
|
||||||
timing_.append(new QHash<Key, Timing>);
|
|
||||||
|
|
||||||
timer_ = new QTimer(this);
|
timer_ = new QTimer(this);
|
||||||
connect(timer_, &QTimer::timeout, this, &StreamTiming::processRecords);
|
connect(timer_, &QTimer::timeout, this, &StreamTiming::processRecords);
|
||||||
timer_->setInterval(3000);
|
timer_->setInterval(3000);
|
||||||
@ -152,7 +149,7 @@ StreamTiming* StreamTiming::instance()
|
|||||||
static StreamTiming *instance{nullptr};
|
static StreamTiming *instance{nullptr};
|
||||||
|
|
||||||
if (!instance)
|
if (!instance)
|
||||||
instance = new StreamTiming(10); // FIXME: WRONG param
|
instance = new StreamTiming();
|
||||||
|
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ class StreamTiming : public QObject
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
StreamTiming(int portCount);
|
StreamTiming();
|
||||||
|
|
||||||
bool recordTxTime(uint portId, uint guid, uint ttagId,
|
bool recordTxTime(uint portId, uint guid, uint ttagId,
|
||||||
struct timespec timestamp);
|
struct timespec timestamp);
|
||||||
@ -73,7 +73,7 @@ private:
|
|||||||
typedef quint32 Key;
|
typedef quint32 Key;
|
||||||
QHash<Key, TtagData> txHash_;
|
QHash<Key, TtagData> txHash_;
|
||||||
QHash<Key, TtagData> rxHash_;
|
QHash<Key, TtagData> rxHash_;
|
||||||
QList<QHash<Key, Timing>*> timing_; // list index => portId
|
QHash<uint, QHash<Key, Timing>*> timing_; // outer key => portId
|
||||||
QMutex txHashLock_;
|
QMutex txHashLock_;
|
||||||
QMutex rxHashLock_;
|
QMutex rxHashLock_;
|
||||||
QMutex timingLock_; // FIXME: change to RW lock?
|
QMutex timingLock_; // FIXME: change to RW lock?
|
||||||
|
Loading…
Reference in New Issue
Block a user