4 #ifndef SWIFT_MISC_TOKENBUCKET_H
5 #define SWIFT_MISC_TOKENBUCKET_H
24 CTokenBucket(
int capacity, qint64 intervalMs,
int numTokensToRefill);
28 bool tryConsume(
int numTokens = 1, qint64 msSinceEpoch = -1);
31 void setNumberOfTokensToRefill(
int numTokens);
34 void setCapacity(
int capacity);
37 void setCapacityAndTokensToRefill(
int numTokens);
40 void setInterval(qint64 intervalMs) { m_intervalMs = intervalMs; }
43 int getTokensPerSecond()
const;
51 int getTokens(qint64 msSinceEpoch);
54 int m_availableTokens = 10;
55 int m_numTokensToRefill = 1;
56 qint64 m_intervalMs = 5000;
57 qint64 m_lastReplenishmentTime = QDateTime::currentMSecsSinceEpoch();
void setInterval(qint64 intervalMs)
Set the interval.
Free functions in swift::misc.
#define SWIFT_MISC_EXPORT
Export a class or function from the library.