libutil++
1.9.3
Main Page
Classes
Files
File List
All
Classes
Functions
Variables
src
sella
algo
TokenBucket.h
1
/*
2
** libutil++
3
** $Id: TokenBucket.h 1653 2016-02-28 19:54:59Z sella $
4
** Copyright (c) 2011-2016 Digital Genesis, LLC. All Rights Reserved.
5
** Released under the LGPL Version 2.1 License.
6
** http://www.digitalgenesis.com
7
*/
8
9
#ifndef __libutilxx__sella__algo__TokenBucket_H__
10
#define __libutilxx__sella__algo__TokenBucket_H__
11
12
#include "../../common.h"
13
14
#include <stdint.h>
15
16
#include <memory>
17
18
namespace
sella {
19
namespace
algo {
20
class
TokenBucket;
21
}
22
}
23
24
class
sella::algo::TokenBucket
{
25
public
:
26
TokenBucket
(
const
TokenBucket
& chain,
double
limit)
throw
();
27
TokenBucket
(
double
limit)
throw
();
28
29
bool
sub(
double
value,
bool
blocking =
false
)
throw
();
30
bool
add(
double
value)
throw
();
31
32
private
:
33
std::shared_ptr<TokenBucket> chain;
34
35
uint64_t stamp;
36
37
double
limit;
38
double
value;
39
};
40
41
#endif
42
43
/*
44
** vim: noet ts=3 sw=3
45
*/
sella::algo::TokenBucket
Definition:
TokenBucket.h:24
Generated on Sat Sep 2 2017 11:44:21 for libutil++ by
1.8.5