diff options
| author | Silarn <jrim@rimpo.org> | 2019-01-28 18:36:19 -0600 |
|---|---|---|
| committer | Silarn <jrim@rimpo.org> | 2019-02-18 21:28:24 -0600 |
| commit | 4932c52136ce1c8a704c5322e26ca75e55726a15 (patch) | |
| tree | b3f7fe778da2a1491cadacb8467552147f1a6d3f /src/nexusinterface.cpp | |
| parent | 23ff0bea74c05599184d4049a17510b62a49791f (diff) | |
Add counter for API requests
Diffstat (limited to 'src/nexusinterface.cpp')
| -rw-r--r-- | src/nexusinterface.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/nexusinterface.cpp b/src/nexusinterface.cpp index 25843c51..c149f987 100644 --- a/src/nexusinterface.cpp +++ b/src/nexusinterface.cpp @@ -203,6 +203,7 @@ void NexusInterface::setRateMax(const QString &userName, bool isPremium) m_MaxRequests = 300; m_RemainingRequests = 300; } + emit requestsChanged(m_RequestQueue.size(), m_RemainingRequests); } void NexusInterface::interpretNexusFileName(const QString &fileName, QString &modName, int &modID, bool query) @@ -543,6 +544,7 @@ void NexusInterface::nextRequest() connect(info.m_Timeout, SIGNAL(timeout()), this, SLOT(requestTimeout())); info.m_Timeout->start(); m_ActiveRequest.push_back(info); + emit requestsChanged(m_RequestQueue.size(), m_RemainingRequests); } @@ -559,6 +561,7 @@ void NexusInterface::requestFinished(std::list<NXMRequestInfo>::iterator iter) int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); if (statusCode == 429) { m_RemainingRequests = 0; + emit requestsChanged(m_RequestQueue.size(), m_RemainingRequests); qWarning("Requests have hit the rate limit threshold and are now being throttled. This request will be retried."); qWarning("Error: %s", reply->errorString().toUtf8().constData()); m_RequestQueue.enqueue(*iter); @@ -666,8 +669,10 @@ void NexusInterface::requestTimeout() void NexusInterface::calculateRequests() { - if (m_RemainingRequests < m_MaxRequests) + if (m_RemainingRequests < m_MaxRequests) { m_RemainingRequests++; + emit requestsChanged(m_RequestQueue.size(), m_RemainingRequests); + } } namespace { |
