Issue #77 Break dependency of loghandler and tokenbucket on time and units

This commit is contained in:
Mat Sutcliffe
2020-08-28 00:36:42 +01:00
parent 39e9e6f128
commit 5f18d87e0b
5 changed files with 3 additions and 15 deletions

View File

@@ -102,7 +102,7 @@ namespace BlackCore
CClientAware(clientProvider), CClientAware(clientProvider),
COwnAircraftAware(ownAircraftProvider), COwnAircraftAware(ownAircraftProvider),
CRemoteAircraftAware(remoteAircraftProvider), CRemoteAircraftAware(remoteAircraftProvider),
m_tokenBucket(10, CTime(5, CTimeUnit::s()), 1) m_tokenBucket(10, 5000, 1)
{ {
initializeMessageTypes(); initializeMessageTypes();
connect(&m_socket, &QTcpSocket::readyRead, this, &CFSDClient::readDataFromSocket, Qt::QueuedConnection); connect(&m_socket, &QTcpSocket::readyRead, this, &CFSDClient::readDataFromSocket, Qt::QueuedConnection);

View File

@@ -183,7 +183,7 @@ namespace BlackGui
QScopedPointer<Ui::CMappingComponent> ui; QScopedPointer<Ui::CMappingComponent> ui;
QTimer m_updateTimer; QTimer m_updateTimer;
bool m_missedRenderedAircraftUpdate = true; //! Rendered aircraft need update bool m_missedRenderedAircraftUpdate = true; //! Rendered aircraft need update
BlackMisc::CTokenBucket m_bucket { 3, BlackMisc::PhysicalQuantities::CTime(5.0, BlackMisc::PhysicalQuantities::CTimeUnit::s()), 1}; BlackMisc::CTokenBucket m_bucket { 3, 5000, 1};
BlackMisc::CSettingReadOnly<Settings::TViewUpdateSettings> m_settings { this, &CMappingComponent::settingsChanged }; //!< settings changed BlackMisc::CSettingReadOnly<Settings::TViewUpdateSettings> m_settings { this, &CMappingComponent::settingsChanged }; //!< settings changed
Views::CCheckBoxDelegate *m_currentMappingsViewDelegate = nullptr; //! checkbox in view Views::CCheckBoxDelegate *m_currentMappingsViewDelegate = nullptr; //! checkbox in view
}; };

View File

@@ -156,9 +156,8 @@ namespace BlackMisc
else if (statusMessage.getMessage().startsWith(QStringLiteral("QCommandLineParser: option not defined"))) { statusMessage.setSeverity(CStatusMessage::SeverityDebug); } else if (statusMessage.getMessage().startsWith(QStringLiteral("QCommandLineParser: option not defined"))) { statusMessage.setSeverity(CStatusMessage::SeverityDebug); }
} }
using namespace BlackMisc::PhysicalQuantities;
auto bucket = m_tokenBuckets.find(statusMessage); auto bucket = m_tokenBuckets.find(statusMessage);
if (bucket == m_tokenBuckets.end()) { bucket = m_tokenBuckets.insert(statusMessage, { { 5, CTime(1, CTimeUnit::s()), 1 }, 0 }); } if (bucket == m_tokenBuckets.end()) { bucket = m_tokenBuckets.insert(statusMessage, { { 5, 1000, 1 }, 0 }); }
if (! bucket->first.tryConsume()) if (! bucket->first.tryConsume())
{ {
bucket->second++; bucket->second++;

View File

@@ -7,18 +7,11 @@
*/ */
#include "blackmisc/tokenbucket.h" #include "blackmisc/tokenbucket.h"
#include "blackmisc/pq/units.h"
#include <QtGlobal> #include <QtGlobal>
using namespace BlackMisc::PhysicalQuantities;
namespace BlackMisc namespace BlackMisc
{ {
CTokenBucket::CTokenBucket(int capacity, const CTime &interval, int numTokensToRefill)
: m_capacity(capacity), m_numTokensToRefill(numTokensToRefill), m_intervalMs(interval.value(CTimeUnit::ms()))
{}
CTokenBucket::CTokenBucket(int capacity, qint64 intervalMs, int numTokensToRefill) CTokenBucket::CTokenBucket(int capacity, qint64 intervalMs, int numTokensToRefill)
: m_capacity(capacity), m_numTokensToRefill(numTokensToRefill), m_intervalMs(intervalMs) : m_capacity(capacity), m_numTokensToRefill(numTokensToRefill), m_intervalMs(intervalMs)
{} {}

View File

@@ -10,7 +10,6 @@
#define BLACKMISC_TOKENBUCKET_H #define BLACKMISC_TOKENBUCKET_H
#include "blackmisc/blackmiscexport.h" #include "blackmisc/blackmiscexport.h"
#include "blackmisc/pq/time.h"
#include <QDateTime> #include <QDateTime>
namespace BlackMisc namespace BlackMisc
@@ -25,9 +24,6 @@ namespace BlackMisc
class BLACKMISC_EXPORT CTokenBucket class BLACKMISC_EXPORT CTokenBucket
{ {
public: public:
//! Constructor for given replenishment policy
CTokenBucket(int capacity, const PhysicalQuantities::CTime &interval, int numTokensToRefill);
//! Constructor for given replenishment policy //! Constructor for given replenishment policy
CTokenBucket(int capacity, qint64 intervalMs, int numTokensToRefill); CTokenBucket(int capacity, qint64 intervalMs, int numTokensToRefill);