]> git.ipfire.org Git - thirdparty/squid.git/blob - src/DelayBucket.h
Source Format Enforcement (#1234)
[thirdparty/squid.git] / src / DelayBucket.h
1 /*
2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9 #ifndef SQUID_DELAYBUCKET_H
10 #define SQUID_DELAYBUCKET_H
11
12 class DelaySpec;
13 class StoreEntry;
14
15 /* don't use remote storage for these */
16
17 /// \ingroup DelayPoolsAPI
18 class DelayBucket
19 {
20
21 public:
22 DelayBucket() : level_(0) {}
23
24 int const& level() const {return level_;}
25
26 int & level() {return level_;}
27
28 void stats(StoreEntry *)const;
29 void update (DelaySpec const &, int incr);
30 int bytesWanted (int min, int max) const;
31 void bytesIn(int qty);
32 void init (DelaySpec const &);
33
34 private:
35 int level_;
36 };
37
38 #endif /* SQUID_DELAYBUCKET_H */
39