MessageBucket.h
Go to the documentation of this file.
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_SRC_MESSAGEBUCKET_H
10 #define SQUID_SRC_MESSAGEBUCKET_H
11 
12 #if USE_DELAY_POOLS
13 
14 #include "BandwidthBucket.h"
15 #include "base/RefCount.h"
16 #include "comm/forward.h"
17 #include "MessageDelayPools.h"
18 
21 {
23 
24 public:
26 
27  MessageBucket(const int speed, const int initialLevelPercent, const double sizeLimit, MessageDelayPool::Pointer pool);
28 
29  /* BandwidthBucket API */
30  int quota() override;
31  void scheduleWrite(Comm::IoCallback *state) override;
32  void reduceBucket(int len) override;
33 
34 private:
36 };
37 
38 #endif /* USE_DELAY_POOLS */
39 
40 #endif /* SQUID_SRC_MESSAGEBUCKET_H */
41 
void reduceBucket(int len) override
Decreases the bucket level.
MessageDelayPool::Pointer theAggregate
Definition: MessageBucket.h:35
int quota() override
void scheduleWrite(Comm::IoCallback *state) override
Will plan another write call.
RefCount< MessageBucket > Pointer
Definition: MessageBucket.h:25
Details about a particular Comm IO callback event.
Definition: IoCallback.h:29
MessageBucket(const int speed, const int initialLevelPercent, const double sizeLimit, MessageDelayPool::Pointer pool)
Base class for Squid-to-client bandwidth limiting.
MEMPROXY_CLASS(MessageBucket)
Limits Squid-to-client bandwidth for each matching response.
Definition: MessageBucket.h:20

 

Introduction

Documentation

Support

Miscellaneous