CppCommon
1.0.5.0
C++ Common Library
Loading...
Searching...
No Matches
include
algorithms
token_bucket.inl
Go to the documentation of this file.
1
9
namespace
CppCommon
{
10
11
inline
TokenBucket::TokenBucket
(uint64_t rate, uint64_t burst)
12
: _time(0),
13
_time_per_token(1000000000 / rate),
14
_time_per_burst(burst * _time_per_token)
15
{
16
17
}
18
19
inline
TokenBucket::TokenBucket
(
const
TokenBucket
& tb)
20
: _time(tb._time.load()),
21
_time_per_token(tb._time_per_token.load()),
22
_time_per_burst(tb._time_per_burst.load())
23
{
24
}
25
26
inline
TokenBucket
&
TokenBucket::operator=
(
const
TokenBucket
& tb)
27
{
28
_time = tb._time.load();
29
_time_per_token = tb._time_per_token.load();
30
_time_per_burst = tb._time_per_burst.load();
31
return
*
this
;
32
}
33
34
}
// namespace CppCommon
CppCommon::TokenBucket
Token bucket rate limit algorithm.
Definition
token_bucket.h:34
CppCommon::TokenBucket::TokenBucket
TokenBucket(uint64_t rate, uint64_t burst)
Initialize the token bucket.
Definition
token_bucket.inl:11
CppCommon::TokenBucket::operator=
TokenBucket & operator=(const TokenBucket &tb)
Definition
token_bucket.inl:26
CppCommon
C++ Common project definitions.
Definition
token_bucket.h:15
Generated by
1.9.8